Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/hw/netif/dp8390/dp8390.c

    re0854e3 rd8d8bbd  
    375375}
    376376
    377 void dp_check_ints(int nil_phone, device_id_t device_id, dpeth_t *dep, int isr)
     377static uint8_t isr_acknowledge(dpeth_t *dep)
     378{
     379        uint8_t isr = inb_reg0(dep, DP_ISR) & 0x7f;
     380        if (isr != 0)
     381                outb_reg0(dep, DP_ISR, isr);
     382       
     383        return isr;
     384}
     385
     386void dp_check_ints(int nil_phone, device_id_t device_id, dpeth_t *dep, uint8_t isr)
    378387{
    379388        int tsr;
     
    383392                fprintf(stderr, "dp8390: got premature interrupt\n");
    384393       
    385         for (; isr; isr = inb_reg0(dep, DP_ISR)) {
    386                 outb_reg0(dep, DP_ISR, isr);
    387                
     394        for (; isr != 0; isr = isr_acknowledge(dep)) {
    388395                if (isr & (ISR_PTX | ISR_TXE)) {
    389396                        if (isr & ISR_TXE)
Note: See TracChangeset for help on using the changeset viewer.