[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;