diff options
| author | Larry Finger <[email protected]> | 2012-03-19 15:44:31 -0500 |
|---|---|---|
| committer | John W. Linville <[email protected]> | 2012-04-09 16:12:31 -0400 |
| commit | 30899cc6ab4d4b63d43f6d652d1ecf9107eadb8d (patch) | |
| tree | b6f6e4dca078cc6983e3c110f095e2e1f36a26d9 /tools/perf/scripts/python | |
| parent | 292c41acddfdbe0fb42d4c4ad9b896168fd16e91 (diff) | |
rtlwifi: Preallocate USB read buffers and eliminate kalloc in read routine
The current version of rtlwifi for USB operations uses kmalloc to
acquire a 32-bit buffer for each read of the device. When
_usb_read_sync() is called with the rcu_lock held, the result is
a "sleeping function called from invalid context" BUG. This is
reported for two cases in https://bugzilla.kernel.org/show_bug.cgi?id=42775.
The first case has the lock originating from within rtlwifi and could
be fixed by rearranging the locking; however, the second originates from
within mac80211. The kmalloc() call is removed from _usb_read_sync()
by creating a ring buffer pointer in the private area and
allocating the buffer data in the probe routine.
Signed-off-by: Larry Finger <[email protected]>
Cc: Stable <[email protected]> [This version good for 3.3+ - different patch for 3.2 - 2.6.39]
Signed-off-by: John W. Linville <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions