lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 05 Jan 2009 14:28:30 +0100
From:	Oliver Hartkopp <oliver@...tkopp.net>
To:	Jaswinder Singh Rajput <jaswinder@...radead.org>
CC:	davem@...hat.com, jgarzik@...hat.com,
	netdev <netdev@...r.kernel.org>,
	LKML <linux-kernel@...r.kernel.org>, linux-next@...r.kernel.org,
	mchan@...adcom.com
Subject: Re: [PATCH -net-next 3/4] firmware: convert tg3 driver to request_firmware()

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 <jaswinderrajput@...il.com>
> ---
>  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: [<c0323897>] 
linkwatch_fire_event+0x58/0xd6
[   16.722422] {softirq-on-R} state was registered at:
[   16.722422]   [<c013fe6f>] __lock_acquire+0x2a6/0xadd
[   16.722422]   [<c0140703>] lock_acquire+0x5d/0x7a
[   16.722422]   [<c03a430e>] _read_lock+0x1b/0x2a
[   16.722422]   [<c0324fa3>] show_address+0x23/0x55
[   16.722422]   [<c028943c>] dev_attr_show+0x1b/0x38
[   16.722422]   [<c01a8802>] sysfs_read_file+0x92/0xef
[   16.722422]   [<c017453d>] vfs_read+0x79/0xaa
[   16.722422]   [<c0174607>] sys_read+0x3b/0x60
[   16.722422]   [<c0102fd5>] sysenter_do_call+0x12/0x35
[   16.722422]   [<ffffffff>] 0xffffffff
[   16.722422] irq event stamp: 792614
[   16.722422] hardirqs last  enabled at (792614): [<c0318b4a>] 
net_rx_action+0x118/0x13e
[   16.722422] hardirqs last disabled at (792613): [<c0318a6b>] 
net_rx_action+0x39/0x13e
[   16.722422] softirqs last  enabled at (792558): [<c012794a>] 
__do_softirq+0x135/0x13d
[   16.722422] softirqs last disabled at (792611): [<c012798c>] 
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: [<f8b7d507>] 
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]  [<c03a224b>] ? printk+0xf/0x11
[   16.722422]  [<c013eda5>] valid_state+0x12a/0x13d
[   16.722422]  [<c013f210>] mark_lock+0x14c/0x330
[   16.722422]  [<c013fdf2>] __lock_acquire+0x229/0xadd
[   16.722422]  [<c0140703>] lock_acquire+0x5d/0x7a
[   16.722422]  [<c0323897>] ? linkwatch_fire_event+0x58/0xd6
[   16.722422]  [<c03a41ed>] _write_lock_bh+0x20/0x2f
[   16.722422]  [<c0323897>] ? linkwatch_fire_event+0x58/0xd6
[   16.722422]  [<c0323897>] linkwatch_fire_event+0x58/0xd6
[   16.722422]  [<c0325ff2>] netif_carrier_on+0x1c/0x34
[   16.722422]  [<f8b74621>] tg3_setup_copper_phy+0xa80/0xac2 [tg3]
[   16.722422]  [<f8b7568c>] tg3_setup_phy+0x1029/0x1172 [tg3]
[   16.722422]  [<f8b7d507>] ? tg3_poll+0x76/0x8bf [tg3]
[   16.722422]  [<c03a4108>] ? _spin_lock+0x22/0x2a
[   16.722422]  [<f8b7d547>] tg3_poll+0xb6/0x8bf [tg3]
[   16.722422]  [<c0140697>] ? __lock_acquire+0xace/0xadd
[   16.722422]  [<c0318b4a>] ? net_rx_action+0x118/0x13e
[   16.722422]  [<c0318a94>] net_rx_action+0x62/0x13e
[   16.722422]  [<c01278a4>] __do_softirq+0x8f/0x13d
[   16.722422]  [<c012798c>] do_softirq+0x3a/0x52
[   16.722422]  [<c0127ab0>] irq_exit+0x44/0x83
[   16.722422]  [<c0104d32>] do_IRQ+0x96/0xac
[   16.722422]  [<c010362c>] common_interrupt+0x2c/0x34
[   16.722422]  [<c013007b>] ? usermodehelper_disable+0x89/0xa3
[   16.722422]  [<c02606a2>] ? acpi_idle_enter_simple+0x151/0x182
[   16.722422]  [<c0260373>] acpi_idle_enter_bm+0xc6/0x2a4
[   16.722422]  [<c0302f71>] cpuidle_idle_call+0x60/0x93
[   16.722422]  [<c0102139>] cpu_idle+0x70/0x93
[   16.722422]  [<c0395e56>] 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



View attachment "config-2.6.28-03196-gd1cea9d" of type "text/plain" (52403 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ