rndis_wlan: fix initialization order for workqueue&workers
commit76e6da3c9e11f2d009a4c519993f29fcd32ae388
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Wed, 22 Apr 2009 07:59:37 +0000 (22 10:59 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 8 May 2009 22:45:11 +0000 (8 15:45 -0700)
tree802e533fab95d22c31e5222a9a95009c9af7ff5c
parent28441fac78d703b12b649eaf285576646a9f8b8f
rndis_wlan: fix initialization order for workqueue&workers

commit e805e4d0b53506dff4255a2792483f094e7fcd2c upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/wireless/rndis_wlan.c