1
0
Fork 0
remarkable-linux/drivers/net/tulip
Grant Grundler 209261c019 [netdrvr] tulip_read_eeprom fixes for BUG 4420
If "location" is > "addr_len" bits, the high bits of location would interfere
with the READ_CMD sent to the eeprom controller.

A patch was submitted to bug:
    http://bugzilla.kernel.org/show_bug.cgi?id=4420

which simply truncated the "location", read whatever was in "location
modulo addr_len", and returned that value. That avoids confusing the
eeprom but seems like the wrong solution to me.

Correct would be to not read beyond "1 << addr_len" address of the eeprom.
I am submitting two changes to implement this:
1) tulip_read_eeprom will return zero (since we can't return -EINVAL)
   if this is attempted (defensive programming).
2) In tulip_core.c, fix the tulip_read_eeprom caller so they don't
   iterate past addr_len bits and make sure the entire tp->eeprom[]
   array is cleared.

I konw we don't strictly need both. I would prefer both in the tree
since it documents the issue and provides a second "defense" from
the bug from creeping back in.

Signed-off-by: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2008-03-28 21:52:14 -04:00
..
21142.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
Kconfig [NET]: Remove references to net-modules.txt. 2007-11-12 21:03:58 -08:00
Makefile [netdrvr] add 'uli526x' driver (a tulip clone) 2005-07-29 15:33:58 -04:00
de4x5.c [netdrvr] checkpatch cleanups 2008-01-28 15:04:05 -08:00
de4x5.h more tulip endianness annotations 2007-10-14 12:41:52 -07:00
de2104x.c 2.6.25-rc4 de_stop_rxtx polling wrong 2008-03-17 08:11:31 -04:00
dmfe.c [TULIP] DMFE: Fix SROM parsing regression. 2008-01-23 03:11:39 -08:00
eeprom.c [netdrvr] tulip_read_eeprom fixes for BUG 4420 2008-03-28 21:52:14 -04:00
interrupt.c [NET]: Do not check netif_running() and carrier state in ->poll() 2008-01-08 23:30:09 -08:00
media.c TULIP: Natsemi dp83840a PHY fix 2007-04-28 11:00:58 -04:00
pnic.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
pnic2.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
timer.c PCI: Cleanup the includes of <linux/pci.h> 2007-05-02 19:02:35 -07:00
tulip.h tulip: endianness annotations 2007-10-10 16:52:00 -07:00
tulip_core.c [netdrvr] tulip_read_eeprom fixes for BUG 4420 2008-03-28 21:52:14 -04:00
uli526x.c uli526x partially recognizing interface 2008-02-23 23:55:03 -05:00
winbond-840.c Typo: depricated -> deprecated 2007-10-20 03:10:57 +02:00
xircom_cb.c xircom_cb should return NETDEV_TX_BUSY when no descriptors available 2008-02-05 13:31:29 -05:00
xircom_tulip_cb.c [NET]: Nuke SET_MODULE_OWNER macro. 2007-10-10 16:51:13 -07:00