[eepro100-bug] eepro100_cb driver patch

Harald Barth haba@pdc.kth.se
Thu, 11 Jan 2001 14:43:14 +0100


Hi,

Seems like dev_kfree_skb_irq is better than dev_kfree_skb in
speedo_interrupt(). At least kills the complaints in syslog.
This is on i386 Linux 2.4.0 with and version string
eepro100.c:v1.09t 9/29/99 in eepro100_cb.c from pcmcia-cs-3.1.23.
I havn't tested anything for other kernels than 2.4.0.

I must admit that I am not clear about what drivers versions to find
where with all this different sources laying around
(pcmcia-cs-3.1.something and versions found on www.scyld.com). Some
clarification would appreciated.

Have a nice day and thanks for all the drivers,
Harald.

*** eepro100_cb.c       Wed Jan 10 01:19:40 2001
--- eepro100_cb.c~      Thu Nov 16 18:22:19 2000
***************
*** 1439,1450 ****
  #if LINUX_VERSION_CODE > 0x20127
                                        sp->stats.tx_bytes += sp->tx_skbuff[entr
y]->len;
  #endif
! #if LINUX_VERSION_CODE < 0x20159
!                                       dev_kfree_skb_irq(sp->tx_skbuff[entry], 
FREE_WRITE);
! #else
!                                       dev_kfree_skb_irq(sp->tx_skbuff[entry]);
! #endif
!                                       /* dev_free_skb(sp->tx_skbuff[entry]); h
aba */
                                        sp->tx_skbuff[entry] = 0;
                                } else if ((status & 0x70000) == CmdNOp)
                                        sp->mc_setup_busy = 0;
--- 1439,1445 ----
  #if LINUX_VERSION_CODE > 0x20127
                                        sp->stats.tx_bytes += sp->tx_skbuff[entr
y]->len;
  #endif
!                                       dev_free_skb(sp->tx_skbuff[entry]);
                                        sp->tx_skbuff[entry] = 0;
                                } else if ((status & 0x70000) == CmdNOp)
                                        sp->mc_setup_busy = 0;