Jaswinder Singh Rajput wrote: > Firmware blob looks like this... > u8 firmware_major > u8 firmware_minor > u8 firmware_fix > u8 pad > __be32 start_address > __be32 length (total, including BSS sections to be zeroed) > data... (in __be32 words, which is native for the firmware) > > Signed-off-by: Jaswinder Singh Rajput > --- > drivers/net/tg3.c | 792 +++++--------------------------------- > drivers/net/tg3.h | 4 + > firmware/Makefile | 2 + > firmware/WHENCE | 19 + > firmware/tigon/tg3.bin.ihex | 175 +++++++++ > firmware/tigon/tg3_tso.bin.ihex | 446 +++++++++++++++++++++ > firmware/tigon/tg3_tso5.bin.ihex | 252 ++++++++++++ > 7 files changed, 992 insertions(+), 698 deletions(-) > create mode 100644 firmware/tigon/tg3.bin.ihex > create mode 100644 firmware/tigon/tg3_tso.bin.ihex > create mode 100644 firmware/tigon/tg3_tso5.bin.ihex > I just tried the latest net2.6 2.6.28-03196-gd1cea9d with your commit 077f849de42e58172e25ccb24df4c1a13e82420c ("firmware: convert tg3 driver to request_firmware()") and i discovered that 1. I needed to compile the tg3 driver as *module* now as it was not able to read the firmware when built-in. 2. I got this inconsistent lock state, i've not seen before: [ 16.719226] [ 16.719228] ================================= [ 16.722422] [ INFO: inconsistent lock state ] [ 16.722422] 2.6.28-03196-gd1cea9d #8 [ 16.722422] --------------------------------- [ 16.722422] inconsistent {softirq-on-R} -> {in-softirq-W} usage. [ 16.722422] swapper/0 [HC0[0]:SC1[2]:HE1:SE0] takes: [ 16.722422] (dev_base_lock){-+--}, at: [] linkwatch_fire_event+0x58/0xd6 [ 16.722422] {softirq-on-R} state was registered at: [ 16.722422] [] __lock_acquire+0x2a6/0xadd [ 16.722422] [] lock_acquire+0x5d/0x7a [ 16.722422] [] _read_lock+0x1b/0x2a [ 16.722422] [] show_address+0x23/0x55 [ 16.722422] [] dev_attr_show+0x1b/0x38 [ 16.722422] [] sysfs_read_file+0x92/0xef [ 16.722422] [] vfs_read+0x79/0xaa [ 16.722422] [] sys_read+0x3b/0x60 [ 16.722422] [] sysenter_do_call+0x12/0x35 [ 16.722422] [] 0xffffffff [ 16.722422] irq event stamp: 792614 [ 16.722422] hardirqs last enabled at (792614): [] net_rx_action+0x118/0x13e [ 16.722422] hardirqs last disabled at (792613): [] net_rx_action+0x39/0x13e [ 16.722422] softirqs last enabled at (792558): [] __do_softirq+0x135/0x13d [ 16.722422] softirqs last disabled at (792611): [] do_softirq+0x3a/0x52 [ 16.722422] [ 16.722422] other info that might help us debug this: [ 16.722422] 1 lock held by swapper/0: [ 16.722422] #0: (&tp->lock){-+..}, at: [] tg3_poll+0x76/0x8bf [tg3] [ 16.722422] [ 16.722422] stack backtrace: [ 16.722422] Pid: 0, comm: swapper Not tainted 2.6.28-03196-gd1cea9d #8 [ 16.722422] Call Trace: [ 16.722422] [] ? printk+0xf/0x11 [ 16.722422] [] valid_state+0x12a/0x13d [ 16.722422] [] mark_lock+0x14c/0x330 [ 16.722422] [] __lock_acquire+0x229/0xadd [ 16.722422] [] lock_acquire+0x5d/0x7a [ 16.722422] [] ? linkwatch_fire_event+0x58/0xd6 [ 16.722422] [] _write_lock_bh+0x20/0x2f [ 16.722422] [] ? linkwatch_fire_event+0x58/0xd6 [ 16.722422] [] linkwatch_fire_event+0x58/0xd6 [ 16.722422] [] netif_carrier_on+0x1c/0x34 [ 16.722422] [] tg3_setup_copper_phy+0xa80/0xac2 [tg3] [ 16.722422] [] tg3_setup_phy+0x1029/0x1172 [tg3] [ 16.722422] [] ? tg3_poll+0x76/0x8bf [tg3] [ 16.722422] [] ? _spin_lock+0x22/0x2a [ 16.722422] [] tg3_poll+0xb6/0x8bf [tg3] [ 16.722422] [] ? __lock_acquire+0xace/0xadd [ 16.722422] [] ? net_rx_action+0x118/0x13e [ 16.722422] [] net_rx_action+0x62/0x13e [ 16.722422] [] __do_softirq+0x8f/0x13d [ 16.722422] [] do_softirq+0x3a/0x52 [ 16.722422] [] irq_exit+0x44/0x83 [ 16.722422] [] do_IRQ+0x96/0xac [ 16.722422] [] common_interrupt+0x2c/0x34 [ 16.722422] [] ? usermodehelper_disable+0x89/0xa3 [ 16.722422] [] ? acpi_idle_enter_simple+0x151/0x182 [ 16.722422] [] acpi_idle_enter_bm+0xc6/0x2a4 [ 16.722422] [] cpuidle_idle_call+0x60/0x93 [ 16.722422] [] cpu_idle+0x70/0x93 [ 16.722422] [] rest_init+0x4e/0x50 [ 17.428574] tg3: eth0: Link is up at 100 Mbps, full duplex. [ 17.438278] tg3: eth0: Flow control is on for TX and on for RX. I'm running a Dell830 Laptop here with tg3 (LAN) and b43 (WLAN). My current kernel config is attached. Regards, Oliver