From patchwork Wed Jun 20 13:43:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Rebbagondla X-Patchwork-Id: 932645 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="BiC2w98l"; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 41BGMV37kfz9s4v; Thu, 21 Jun 2018 19:18:14 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1fVvjB-0004iF-Lt; Thu, 21 Jun 2018 09:18:05 +0000 Received: from mail-pl0-f52.google.com ([209.85.160.52]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1fVdLi-0001SA-Aq for kernel-team@lists.ubuntu.com; Wed, 20 Jun 2018 13:40:38 +0000 Received: by mail-pl0-f52.google.com with SMTP id g20-v6so1802756plq.1 for ; Wed, 20 Jun 2018 06:40:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=AFbyhCJng2JDoMrUs46FrvhNdfZDDt9ccEqKXrRinfE=; b=BiC2w98lHc08g/VIvwhdrNr4+8wtowq/V0TwcohjA56ia7FY5QY1wdCspSH2YWNHHJ ZF6PuUZaqdKVHU4TMjd63Cz9MNO5YhhnW1wMSJwdAoeCzEuObDuwkgGKYICHFTU85PZd owLcNjh72L3Ud7waI1MeS2r14zMWulv3itFpB8NGJF/nQ6Y5iQA5by5Rp6AMkIBKZn0r OzezKorVCcgnOD+jW2AiSp/ILeub5W2wObWVva8uC4LQ2WnqOBShQOT8VzgTeYdvvCx7 pyaf7WmjZn1gjPSFbyND8y0fRzT0oODeaOgYOFC7YtOB2T0DrkQUNEVy/lJZeGjQk3zv XMbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=AFbyhCJng2JDoMrUs46FrvhNdfZDDt9ccEqKXrRinfE=; b=KZVkOoF5F4S4SbNb1qoOd6SQxRRYCV9USd/j2kDLCUbxTLzxF/UigfqCWt9uGBCHPR MrH4evjw9UxD9vhQirxLboycVVYkX6RJtzlaPxvVJhdhHLX6DP2JP6VWoGYUt5WWlB/O TFD3QuaT2HCbYZY/Xv0/lojRzP6lZYF0CXmlXIeD9QpKqQnzVUPzCwfg7wcE5hBiGAsm 2sUzc+sSMnA8KLwNyybgSMf/sDZbDb2XM0CkIJd/mNAXTuZEKpFgHLR2Uu+M71ORDmgb q/z5Yt+tmnvEepBvxN8O4whQmefcL2I1A2uzyCyE+lFGZmaVgpSEimCJj81cnfWMhkTO 3mVg== X-Gm-Message-State: APt69E2bXvZYa4e8XJkfsLC0FAEd98clmxosUxzm8touMztXaTe3uvzP Vkn0y6bJBR2BOUodylyCr6pnV9uL X-Google-Smtp-Source: ADUXVKLdOC0wlvuqjg4JuyjZNqCCAIdVzge5pAeehJYwbktXxHMHJ+L0uQOqIfds4YjpTR4qscFW7w== X-Received: by 2002:a17:902:ab95:: with SMTP id f21-v6mr23356282plr.264.1529502036502; Wed, 20 Jun 2018 06:40:36 -0700 (PDT) Received: from cpu459.localdomain ([203.196.161.90]) by smtp.gmail.com with ESMTPSA id r3-v6sm6701348pfl.162.2018.06.20.06.40.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Jun 2018 06:40:35 -0700 (PDT) From: Siva Rebbagondla To: kernel-team@lists.ubuntu.com Subject: [Xenial SRU][PATCH v2] UBUNTU: SAUCE: Redpine: improve cancel_hw_scan handling to fix kernel panic Date: Wed, 20 Jun 2018 19:13:43 +0530 Message-Id: <1529502223-15116-1-git-send-email-siva8118@gmail.com> X-Mailer: git-send-email 2.5.5 X-Mailman-Approved-At: Thu, 21 Jun 2018 09:18:04 +0000 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sushant Mishra , Siva Rebbagondla , Sanjay Kumar Konduri MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" From: Siva Rebbagondla 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 Acked-By: Shrirang Bagul <shrirang.bagul@canonical.com>
--- v2: Added enhancement in case of AP mode [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