summaryrefslogtreecommitdiff
path: root/net/mac802154
diff options
context:
space:
mode:
authorLior David <qca_liord@qca.qualcomm.com>2017-01-20 13:49:48 +0200
committerKalle Valo <kvalo@qca.qualcomm.com>2017-01-27 19:49:39 +0200
commit4d4c4dc324b4444d40e9164834044feebaf2d72d (patch)
treebbcc4458045a7f618c8e60491665637dd4cb2d95 /net/mac802154
parent0d2370e939acca97b5e1abc1aedd47c5c9a5f500 (diff)
wil6210: missing reinit_completion in wmi_call
The code in wmi_call uses the wil->wmi_call completion structure to wait for a reply. In some scenarios, complete was called twice on the completion structure. This happened mainly with a disconnect event which can arrive both unsolicited and as a reply to a disconnect request. In this case the completion structure was left marked as "done" and the next wmi_call returned immediately with a corrupted reply buffer. This caused unexpected results including crashes. Fix this by adding the missing call to reinit_completion. Signed-off-by: Lior David <qca_liord@qca.qualcomm.com> Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'net/mac802154')
0 files changed, 0 insertions, 0 deletions
queues are fixed by simply zeroing the memory before use. PIO errors from userspace will result in a SIGBUS being sent to the user process. The MEM errors form userspace will result in a SIGKILL and also cause the offending pages to be claimed so they are no longer used in future tasks. SIGKILL is used to ensure that the process does not try to coredump and result in an attempt to read the memory again from within kernel space. Although there is a HV call to scrub the memory (mem_scrub), there is no easy way to guarantee that the real memory address(es) are not used by other tasks. Clearing the error with mem_scrub would zero the memory and cause the other processes to proceed with bad data. The handling of other non-resumable errors remain unchanged and will cause a panic. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/usb/phy/phy-ab8500-usb.c')