ACK/cmnt: [Xenial SRU][PATCH v2] UBUNTU: SAUCE: Redpine: improve cancel_hw_scan handling to fix kernel panic

Shrirang Bagul shrirang.bagul at canonical.com
Thu Jun 21 07:33:32 UTC 2018


On Thu, 2018-06-21 at 12:06 +0530, Siva Rebbagondla wrote:
> On Thu, Jun 21, 2018 at 11:27 AM, Shrirang Bagul <shrirang.bagul at canonical.com> wrote:
> > On Wed, 2018-06-20 at 19:13 +0530, Siva Rebbagondla wrote:
> > 
> > > From: Siva Rebbagondla <siva.rebbagondla at redpinesignals.com>
> > 
> > > 
> > 
> > > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1773410
> > 
> > > https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1777850
> > 
> > > 
> > 
> > > Kernel panic is observed when network manager is stopped while system
> > 
> > > is entering into hibernation. The root cause of the issue is scan work
> > 
> > > function keeps running even after cancel_hw_scan() call.
> > 
> > > Issue is resolved by calling cancel_work_sync().
> > 
> > > 
> > 
> > > [ 1171.913244] BUG: unable to handle page request at 00000000001067e38
> > 
> > > [ 1171.913248] IP: cfg80211_scan_done+0xb0/0xc0 [cfg80211]
> > 
> > > [ 1171.913554] Hardware name: Dell Inc. Edge Gateway 3003/      , BIOS 01.00.06
> > 
> > > 01/22/2018
> > 
> > > [ 1171.913668] Workqueue: phy1 ieee80211_scan_work [mac80211]
> > 
> > > [ 1171.913773] RIP: 0010:cfg80211_scan_done+0xb0/0xc0 [cfg80211]
> > 
> > > [ 1171.913780] RSP: 0018:ffffc1fe41b47dc8 EFLAGS: 00010286
> > 
> > > [ 1171.913789] RAX: 0000000000000001 RBX: ffffffffc0e60120 RCX: 0000000100080006
> > 
> > > [ 1171.913794] RDX: ffff9eeab7e3bc58 RSI: ffff9eeab0c69080 RDI: ffff9eeab7e3bc00
> > 
> > > [ 1171.913799] RBP: ffff9eeab7e3bc00 R08: 00000000b7e3b201 R09: 0000000100080006
> > 
> > > [ 1171.913805] R10: ffffc1fe41b47d20 R11: 0000000000000000 R12: ffff9eeab0c69080
> > 
> > > [ 1171.913810] R13: 0000000000000022 R14: ffff9eeab0c68760 R15: ffff9eeab7af3c00
> > 
> > > [ 1171.913817] FS:  0000000000000000(0000) GS:ffff9eeab0000000(0000)
> > 
> > > knlGS:0000000000000000
> > 
> > > [ 1171.913823] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > 
> > > [ 1171.913828] CR2: 00007f76c73ac190 CR3: 000000006e20a000 CR4: 00000000001006f0
> > 
> > > [ 1171.913833] Call Trace:
> > 
> > > [ 1171.913864]  ? rsi_mac80211_sta_remove+0x260/0x260 [rsi_91x]
> > 
> > > [ 1171.913971]  __ieee80211_scan_completed+0xb1/0x390 [mac80211]
> > 
> > > [ 1171.914078]  ieee80211_scan_work+0x7e/0x480 [mac80211]
> > 
> > > [ 1171.914098]  process_one_work+0x142/0x3d0
> > 
> > > [ 1171.914111]  worker_thread+0x229/0x440
> > 
> > > [ 1171.914122]  kthread+0xf5/0x130
> > 
> > > [ 1171.914132]  ? process_one_work+0x3d0/0x3d0
> > 
> > > [ 1171.914140]  ? kthread_associate_blkcg+0x90/0x90
> > 
> > > [ 1171.914152]  ret_from_fork+0x35/0x40
> > 
> > > 
> > 
> > > Signed-off-by: Siva Rebbagondla <siva.rebbagondla at redpinesignals.com>
> > 
> > Acked-By: Shrirang Bagul <shrirang.bagul at canonical.com>
> > 
> > > ---
> > 
> > > v2: Added enhancement in case of AP mode [Shrirang]
> > 
> > Why do you need my name in the changelog of the patch?
> Hi Shrirang,
> 
> Because, As you pointed v1 patch is not solved the issue and need some enhancement in
> patch.
> 
>  
> If this is not required, i will remove this in upcoming patches, if any. Thanks
Siva,I don't deserve so much credit, if possible please remove it and re-submit.While you
are at it, also make sure the BugLink is in proper format:
BugLink: https://launchpad.net/bugs/<public_bug_number>;
Thanks,Shrirang
> > > ---
> > 
> > >  ubuntu/rsi/rsi_91x_mac80211.c | 2 ++
> > 
> > >  1 file changed, 2 insertions(+)
> > 
> > > 
> > 
> > > diff --git a/ubuntu/rsi/rsi_91x_mac80211.c b/ubuntu/rsi/rsi_91x_mac80211.c
> > 
> > > index 36c0cfd..a797826 100644
> > 
> > > --- a/ubuntu/rsi/rsi_91x_mac80211.c
> > 
> > > +++ b/ubuntu/rsi/rsi_91x_mac80211.c
> > 
> > > @@ -428,6 +428,7 @@ void rsi_mac80211_hw_scan_cancel(struct ieee80211_hw *hw,
> > 
> > >               rsi_wait_event(&common->cancel_hw_scan_event,
> > 
> > >                              EVENT_WAIT_FOREVER);
> > 
> > >               rsi_reset_event(&common->cancel_hw_scan_event);
> > 
> > > +             cancel_work_sync(&common->scan_work);
> > 
> > >               common->scan_request = NULL;
> > 
> > >       }
> > 
> > >       
> > 
> > > @@ -631,6 +632,7 @@ static void rsi_mac80211_stop(struct ieee80211_hw *hw)
> > 
> > >       
> > 
> > >       common->iface_down = true;
> > 
> > >  #ifdef CONFIG_HW_SCAN_OFFLOAD
> > 
> > > +     cancel_work_sync(&common->scan_work);
> > 
> > >       if (common->scan_in_prog) 
> > 
> > >               common->scan_in_prog = false;
> > 
> > >  #endif
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20180621/5e8aaec8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20180621/5e8aaec8/attachment.sig>


More information about the kernel-team mailing list