OpenCloudOS-Kernel/drivers/net/wireless/mediatek/mt76
Lorenzo Bianconi 1770f0fa97 mt76: fix uninitialized mutex access setting rts threshold
Fix following crash due to a leftover uninitialized mutex access
in mt76x2_set_rts_threshold routine.

[   31.018059] Call Trace:
[   31.018341]  register_lock_class+0x51f/0x530
[   31.018828]  __lock_acquire+0x6c/0x1580
[   31.019247]  lock_acquire+0x88/0x120
[   31.021089]  __mutex_lock+0x4a/0x4f0
[   31.023343]  mt76x2_set_rts_threshold+0x28/0x50
[   31.023831]  ieee80211_set_wiphy_params+0x16d/0x4e0
[   31.024344]  nl80211_set_wiphy+0x72b/0xbc0
[   31.024781]  genl_family_rcv_msg+0x192/0x3a0
[   31.025233]  genl_rcv_msg+0x42/0x89
[   31.026079]  netlink_rcv_skb+0x38/0x100
[   31.026475]  genl_rcv+0x1f/0x30
[   31.026804]  netlink_unicast+0x19c/0x250
[   31.027212]  netlink_sendmsg+0x1ed/0x390
[   31.027615]  sock_sendmsg+0x31/0x40
[   31.027973]  ___sys_sendmsg+0x23c/0x280
[   31.030414]  __sys_sendmsg+0x42/0x80
[   31.030783]  do_syscall_64+0x4a/0x170
[   31.031160]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
[   31.031677] RIP: 0033:0x7f3498b39ba7
[   31.033953] RSP: 002b:00007fffe19675b8 EFLAGS: 00000246 ORIG_RAX: 000000000000002e
[   31.034883] RAX: ffffffffffffffda RBX: 00000000012d5350 RCX: 00007f3498b39ba7
[   31.035756] RDX: 0000000000000000 RSI: 00007fffe19675f0 RDI: 0000000000000003
[   31.036587] RBP: 00000000012da740 R08: 0000000000000002 R09: 0000000000000000
[   31.037422] R10: 0000000000000006 R11: 0000000000000246 R12: 00000000012da880
[   31.038252] R13: 00007fffe19675f0 R14: 00007fffe19678c0 R15: 00000000012da880

Fixes: 108a4861ef ("mt76: create new mt76x02-lib module for common mt76x{0,2} code")
Reported-by: lorenzo.trisolini@fluidmesh.com
Reported-by: luca.bisti@fluidmesh.com
Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2018-11-16 15:15:49 +02:00
..
mt76x0 mt76x0: phy: do not run calibration during channel switch 2018-10-13 17:39:53 +02:00
mt76x2 mt76: fix uninitialized mutex access setting rts threshold 2018-11-16 15:15:49 +02:00
Kconfig mt76: fix building without CONFIG_LEDS_CLASS 2018-11-06 18:46:33 +02:00
Makefile mt76: move mt76x02_mac_poll_tx_status in mt76x02-lib moudle 2018-10-05 20:05:46 +02:00
agg-rx.c mt76x2: add napi struct to mt76_rx_poll_complete/mt76_rx_complete signatures 2018-08-02 21:47:57 +03:00
debugfs.c mt76: move rate_txpower handler in mt76 debugfs 2018-10-01 12:34:02 +02:00
dma.c mt76: use a per rx queue page fragment cache 2018-09-19 12:31:44 +02:00
dma.h mt76x02: move TXD/RXD/MCU definitions in mt76x02_dma.h 2018-09-19 12:31:25 +02:00
eeprom.c
mac80211.c mt76: fix building without CONFIG_LEDS_CLASS 2018-11-06 18:46:33 +02:00
mmio.c mt76: allow to identify bus 2018-10-13 17:39:11 +02:00
mt76.h mt76: allow to identify bus 2018-10-13 17:39:11 +02:00
mt76x02.h mt76: fix uninitialized mutex access setting rts threshold 2018-11-16 15:15:49 +02:00
mt76x02_dfs.h mt76x2: move mt76x2_dev in mt76x02_util.h 2018-10-05 20:05:45 +02:00
mt76x02_dma.h mt76: move tx_tasklet management in mt76x02-lib moudle 2018-10-05 20:05:46 +02:00
mt76x02_eeprom.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_eeprom.c 2018-10-13 17:39:24 +02:00
mt76x02_eeprom.h mt76x0: eeprom: introduce mt76x0_tssi_enabled routine 2018-10-13 17:39:46 +02:00
mt76x02_mac.c mt76: disable ldpc coding for mt76x0 devices 2018-10-13 17:39:28 +02:00
mt76x02_mac.h mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mac.c 2018-10-13 17:39:22 +02:00
mt76x02_mcu.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mcu.c 2018-10-13 17:39:16 +02:00
mt76x02_mcu.h mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mcu.c 2018-10-13 17:39:16 +02:00
mt76x02_mmio.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mac.c 2018-10-13 17:39:22 +02:00
mt76x02_phy.c mt76: introduce mt76x02_init_agc_gain routine 2018-10-13 17:39:50 +02:00
mt76x02_phy.h mt76: introduce mt76x02_init_agc_gain routine 2018-10-13 17:39:50 +02:00
mt76x02_regs.h mt76x0: correct RF access via RF_CSR register. 2018-10-13 17:39:10 +02:00
mt76x02_trace.c mt76: move mt76x02_mac_poll_tx_status in mt76x02-lib moudle 2018-10-05 20:05:46 +02:00
mt76x02_trace.h mt76: move irq handler in mt76x02-lib moudle 2018-10-05 20:05:46 +02:00
mt76x02_txrx.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_txrx.c 2018-10-13 17:39:23 +02:00
mt76x02_usb.h mt76: use mt76x02_dev instead of mt76_dev in mt76x02_mac.c 2018-10-13 17:39:22 +02:00
mt76x02_usb_core.c mt76: reserve enough room for USB tx skbs 2018-10-13 17:39:31 +02:00
mt76x02_usb_mcu.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_usb_mcu.c 2018-10-13 17:39:20 +02:00
mt76x02_util.c mt76: use mt76x02_dev instead of mt76_dev in mt76x02_txrx.c 2018-10-13 17:39:23 +02:00
trace.c
trace.h
tx.c mt76: do not store aggregation sequence number for null-data frames 2018-10-13 17:39:34 +02:00
usb.c mt76: allow to identify bus 2018-10-13 17:39:11 +02:00
usb_mcu.c mt76: usb: move mt76x02 mcu code in mt76x02-usb module 2018-09-19 12:31:23 +02:00
usb_trace.c mt76: add usb support to mt76 layer 2018-08-02 21:48:16 +03:00
usb_trace.h mt76: add usb support to mt76 layer 2018-08-02 21:48:16 +03:00
util.c
util.h