The driver issues "scheduling while atomic" messages and will freeze the
system. These problems are due to attempting to dynamically load library
encryption routines from a tasklet. The fixes are relatively simple. All
that is needed is to replace indirect calls of the try_then_request_module()
macro with a direct call to lib80211_get_crypto_ops(), which forces a load
of the lib80211 module when the wifi driver is loaded.

There will be a similar patch for TKIP encryption; however, the faulty
patch has already been reverted, thus a fix to use the lib80211 routine
directly will be more intrusive. My original attempt failed, thus I am
delaying that fix.

Cc: Michael Straube <straube.li...@gmail.com>
Cc: Ivan Safonov <insafo...@gmail.com>
Signed-off-by: Larry Finger <larry.fin...@lwfinger.net>
---
Larry Finger (2):
  staging: rtl8188eu: Fix module loading from tasklet for CCMP
    encryption
  staging: rtl8188eu: Fix module loading from tasklet for WEP encryption

 drivers/staging/rtl8188eu/core/rtw_security.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
2.16.4

Reply via email to