linux/drivers/net/wireless/ath/ath6kl
Sujith Manoharan e68f67509d ath6kl: Fix panic when setting a channel
cfg80211 could pass a NULL net_device to the driver via the
set_channel() callback, when it receives a request to set the
device's channel. Not handling this case properly results in this panic:

BUG: unable to handle kernel NULL pointer dereference at 0000000000000cb0
IP: [<ffffffffa0374e49>] ath6kl_cfg80211_ready+0x9/0x70 [ath6kl_sdio]

Call Trace:
[<ffffffffa0374ed7>] ath6kl_set_channel+0x27/0x90 [ath6kl_sdio]
[<ffffffffa04dfd5f>] cfg80211_set_freq+0xff/0x1d0 [cfg80211]
[<ffffffffa04d3275>] ? nl80211_set_wiphy+0x85/0x660 [cfg80211]
[<ffffffffa04d3198>] __nl80211_set_channel.isra.39+0x118/0x140 [cfg80211]
[<ffffffffa04d34f3>] nl80211_set_wiphy+0x303/0x660 [cfg80211]
[<ffffffff813678d7>] ? rtnl_lock+0x17/0x20
[<ffffffffa04ca165>] ? nl80211_pre_doit+0xb5/0x150 [cfg80211]
[<ffffffff81382a45>] genl_rcv_msg+0x1d5/0x250
[<ffffffff81382870>] ? genl_rcv+0x40/0x40
[<ffffffff81381be9>] netlink_rcv_skb+0xa9/0xd0
[<ffffffff81382855>] genl_rcv+0x25/0x40
[<ffffffff811354f0>] ? might_fault+0x40/0x90
[<ffffffff81381519>] netlink_unicast+0x2d9/0x320
[<ffffffff813818e6>] netlink_sendmsg+0x2c6/0x320
[<ffffffff81343800>] ? sock_update_classid+0xb0/0x110
[<ffffffff8133f52e>] sock_sendmsg+0x10e/0x130
[<ffffffff81169933>] ? mem_cgroup_update_page_stat+0x193/0x250
[<ffffffff811354f0>] ? might_fault+0x40/0x90
[<ffffffff811354f0>] ? might_fault+0x40/0x90
[<ffffffff81135539>] ? might_fault+0x89/0x90
[<ffffffff811354f0>] ? might_fault+0x40/0x90
[<ffffffff8134d126>] ? verify_iovec+0x56/0xd0
[<ffffffff8133f9e6>] __sys_sendmsg+0x396/0x3b0
[<ffffffff8108e823>] ? up_read+0x23/0x40
[<ffffffff81040e68>] ? do_page_fault+0x208/0x4e0
[<ffffffff81193151>] ? vfsmount_lock_local_unlock+0x21/0x60
[<ffffffff811947d0>] ? mntput_no_expire+0x30/0xe0
[<ffffffff8119489f>] ? mntput+0x1f/0x30
[<ffffffff81342149>] sys_sendmsg+0x49/0x90
[<ffffffff81425482>] system_call_fastpath+0x16/0x1b

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2011-12-23 15:13:03 +02:00
..
bmi.c ath6kl: add USB support 2011-11-13 12:34:30 +02:00
bmi.h ath6kl: change bmi sizes being configurable by HIF 2011-11-13 12:34:29 +02:00
cfg80211.c ath6kl: Fix panic when setting a channel 2011-12-23 15:13:03 +02:00
cfg80211.h ath6kl: implement scheduled scan 2011-12-13 15:03:49 +02:00
common.h ath6kl: Add support for configuring SMS4 keys 2011-11-13 10:57:38 +02:00
core.h ath6kl: add support for FW API 3 2011-12-23 14:53:22 +02:00
debug.c Merge remote branch 'wireless-next/master' into ath6kl-next 2011-12-16 21:10:39 +02:00
debug.h Merge remote branch 'wireless-next/master' into ath6kl-next 2011-12-16 21:10:39 +02:00
hif-ops.h ath6kl: move diag commands to hif driver 2011-11-13 12:34:29 +02:00
hif.c ath6kl: disable HTC for USB devices 2011-11-13 12:34:30 +02:00
hif.h ath6kl: AR6004 SDIO support 2011-11-13 12:34:30 +02:00
htc.c ath6kl: disable HTC for USB devices 2011-11-13 12:34:30 +02:00
htc.h ath6kl: use ath6kl_credit prefix consistently 2011-11-11 12:58:54 +02:00
init.c ath6kl: add support for FW API 3 2011-12-23 14:53:22 +02:00
Kconfig ath6kl: enable USB support 2011-11-13 12:34:31 +02:00
main.c ath6kl: implement ath6kl_cfg80211_stop_all() 2011-12-13 15:03:46 +02:00
Makefile ath6kl: enable USB support 2011-11-13 12:34:31 +02:00
sdio.c ath6kl: handle firmware names more dynamically 2011-12-23 14:53:21 +02:00
target.h ath6kl: add board address to struct ath6kl_hw 2011-11-16 10:22:33 +02:00
testmode.c ath6kl: add testmode support 2011-09-01 10:14:21 +03:00
testmode.h ath6kl: fix compilation when NL80211_TESTMODE is disabled 2011-09-01 12:04:59 +03:00
txrx.c ath6kl: make maximum number of vifs runtime configurable 2011-11-16 10:22:34 +02:00
usb.c ath6kl: handle firmware names more dynamically 2011-12-23 14:53:21 +02:00
wmi.c ath6kl: Avoid taking struct as argument in ath6kl_wmi_set_ip_cmd 2011-12-23 14:50:05 +02:00
wmi.h ath6kl: Avoid taking struct as argument in ath6kl_wmi_set_ip_cmd 2011-12-23 14:50:05 +02:00