Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[sis900] Enable interrupts to allow UNDI to work
Enable interrupts in sis900_irq(). Doing so allows some programs using
gPXE's UNDI interface to work properly, including Symantec Ghost.

Tested-by: Hubert Mercier <hubert.mercier@unilim.fr>
Signed-off-by: Marty Connor <mdc@etherboot.org>
  • Loading branch information
thomil authored and Marty Connor committed Oct 15, 2009
1 parent 0ea6e5c commit d07f79d
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/drivers/net/sis900.c
Expand Up @@ -1183,8 +1183,12 @@ static int
sis900_poll(struct nic *nic, int retrieve)
{
u32 rx_status = rxd[cur_rx].cmdsts;
u32 intr_status;
int retstat = 0;

/* acknowledge interrupts by reading interrupt status register */
intr_status = inl(ioaddr + isr);

if (sis900_debug > 2)
printf("sis900_poll: cur_rx:%d, status:%X\n", cur_rx,
(unsigned int) rx_status);
Expand Down Expand Up @@ -1264,8 +1268,10 @@ sis900_irq(struct nic *nic __unused, irq_action_t action __unused)
{
switch ( action ) {
case DISABLE :
outl(0, ioaddr + imr);
break;
case ENABLE :
outl((RxSOVR|RxORN|RxERR|RxOK|TxURN|TxERR|TxIDLE), ioaddr + imr);
break;
case FORCE :
break;
Expand Down

0 comments on commit d07f79d

Please sign in to comment.