rndis_wlan: fix initialization order for workqueue&workers
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Wed, 22 Apr 2009 07:59:37 +0000 (10:59 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 28 Apr 2009 19:59:48 +0000 (15:59 -0400)
commite805e4d0b53506dff4255a2792483f094e7fcd2c
tree7f2edb53b21900d1cc857df1b0d93ded9e19d9e3
parent6269b731560d69c5eaa929909891edec39496d71
rndis_wlan: fix initialization order for workqueue&workers

rndis_wext_link_change() might be called from rndis_command() at
initialization stage and priv->workqueue/priv->work have not been
initialized yet. This causes invalid opcode at rndis_wext_bind on
some brands of bcm4320.

Fix by initializing workqueue/workers in rndis_wext_bind() before
rndis_command is used.

This bug has existed since 2.6.25, reported at:
http://bugzilla.kernel.org/show_bug.cgi?id=12794

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rndis_wlan.c