From patchwork Thu Jun 21 08:41:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Rebbagondla X-Patchwork-Id: 932646 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="rpB5jj8F"; 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 41BGMX3Fhcz9s3C; Thu, 21 Jun 2018 19:18:16 +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 1fVvjF-0004kp-Nj; Thu, 21 Jun 2018 09:18:09 +0000 Received: from mail-pl0-f47.google.com ([209.85.160.47]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1fVv6p-0001NR-Rt for kernel-team@lists.ubuntu.com; Thu, 21 Jun 2018 08:38:28 +0000 Received: by mail-pl0-f47.google.com with SMTP id w8-v6so1292728ply.8 for ; Thu, 21 Jun 2018 01:38:27 -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=ukR0jxOok1hFks4mHkL61Mi+BhT7Y7X+eZLJOxhOfDU=; b=rpB5jj8FnfElj6UqhPQhe5eYHNKagsw3VSk/UGHGDLKxujALBfxJQCu3MWbUWJEQPN 7vpfnxxToMTcgTY18Tmw+2rOu/ifmTpJT9KcxUj+kAIMOqLo4AKuAsvxMpCGbDxvZKMT 07WZmXxVumzL2PDiWm4e7dgpqX42bsM5hz1BfFmS2UWIFV3+SJ+fjRYoJJcO/IIN5T2y JdZ7F4zu8mLX02ONL9mx/MXf32+7vZCl8tJ/CcGYO0Ezhkc6MB3pIK801Ck5jhzoEsiQ /LsJr9u0gdxLz5hZsKX8I1MlwJpUz01Q4kUr7XaQStdYDQubYpSx9cE97XlQbgSln/db /hmQ== 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=ukR0jxOok1hFks4mHkL61Mi+BhT7Y7X+eZLJOxhOfDU=; b=F7NhtC9G27XmDBxgDvfUwTKhvBnj2ZanUFEUu6DvSy4Tijwp5yygNStq0R5oTux3yY 40S0gAWYQgb5oPjULz8GEEL2BsA2mk8GimwDC1PLWeIXGau0Y/AKPK64jSgwNEnEZPtC DwwjKPkjLh7hn1RrRbqUHHo2nojbreFn4hFTQTk3GfXiDbGLOl8NhMklsz43GLu30Cfa 2OVzJKe75kF+UBgOdU7sG5K47oZ2HjU5jqNuIj7kk0D8wFhK/1q3fa6ZhhUKZ5jRDX5p v1quAdYZh6jfPsxVppDSKGXlSf6Whcl9y+mkfycdSAAvCHDgc/KjjMmuTkR1nbyGPBo4 Y2sg== X-Gm-Message-State: APt69E1bTgOeg/xbQUDniW5T5lHAYjCMrkdUuvsOPLlk5bo3Pl6MRbnP EEk3OP8sfxB/sdl6XOI5y6suZxPJfNU= X-Google-Smtp-Source: ADUXVKJdilDGwe6HpHKyWmpqMfnrz0utyhe5USWRDe5mYng/nT9hEV8XRDJvsncX2+cBmNIFJkPDew== X-Received: by 2002:a17:902:654c:: with SMTP id d12-v6mr27272088pln.8.1529570305995; Thu, 21 Jun 2018 01:38:25 -0700 (PDT) Received: from cpu459.localdomain ([27.59.248.104]) by smtp.gmail.com with ESMTPSA id f16-v6sm10407580pff.57.2018.06.21.01.38.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Jun 2018 01:38:24 -0700 (PDT) From: Siva Rebbagondla To: kernel-team@lists.ubuntu.com Subject: [Xenial SRU][PATCH v3] UBUNTU: SAUCE: Redpine: improve cancel_hw_scan handling to fix kernel panic Date: Thu, 21 Jun 2018 14:11:42 +0530 Message-Id: <1529570502-8849-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 BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1773410 BugLink: 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(). ...skipping... [ 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 --- v2: Added enhancement in case of AP mode. v3: Updated BugLink is in proper format. --- 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