staging: rtl8192u: Do not use GFP_KERNEL in atomic context
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Thu, 13 Aug 2020 17:34:58 +0000 (19:34 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 18 Aug 2020 14:07:17 +0000 (16:07 +0200)
commitacac75bb451fd39344eb54fad6602dfc9482e970
treeeef018d4593f00060e1931be0b7c65a45c1a8b79
parent4d7dc178ab19f2de50c2eb7c33e4e5d703cdb9e6
staging: rtl8192u: Do not use GFP_KERNEL in atomic context

'rtl8192_irq_rx_tasklet()' is a tasklet initialized in
'rtl8192_init_priv_task()'.
>From this function it is possible to allocate some memory with the
GFP_KERNEL flag, which is not allowed in the atomic context of a tasklet.

Use GFP_ATOMIC instead.

The call chain is:
  rtl8192_irq_rx_tasklet            (in r8192U_core.c)
    --> rtl8192_rx_nomal            (in r8192U_core.c)
      --> ieee80211_rx              (in ieee80211/ieee80211_rx.c)
        --> RxReorderIndicatePacket (in ieee80211/ieee80211_rx.c)

Fixes: 79a5ccd97209 ("staging: rtl8192u: fix large frame size compiler warning")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/20200813173458.758284-1-christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c