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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 8 May 2009 21:54:36 +0000 (14:54 -0700)
commita63a48e88c44100975b38a01de22c7fa17adbf85
treee18fdd02bb8e4cc46033b755c1a05e6985a2c6a6
parent6b06d6282100dd5aacf7d45443d651a1995bd9c4
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