From patchwork Wed Nov 21 06:37:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siva Rebbagondla X-Patchwork-Id: 1001758 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="mxkai7Sb"; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43107m3kd7z9sDG; Fri, 23 Nov 2018 00:06:28 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1gPogW-0001m0-8d; Thu, 22 Nov 2018 13:06:20 +0000 Received: from mail-pl1-f196.google.com ([209.85.214.196]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1gPM4F-0002jc-GA for kernel-team@lists.ubuntu.com; Wed, 21 Nov 2018 06:32:55 +0000 Received: by mail-pl1-f196.google.com with SMTP id t13so3967178ply.13 for ; Tue, 20 Nov 2018 22:32:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=fI/MJFAxNwZEwDdE9eOb97bng4RAkfdqBd58z3kDTgM=; b=mxkai7Sb7ewd1g3lauUuOseQk7KElv8cRORutT/B/t97l45b2V+9+6SzsyF6jG7CH8 sb7qchpS7Mbg0EzuV/Fiwuioj7WPLuxeKOOLpvvKfHBWZmfvfpc8o3Br589zjNxwqDDS Pp4+wxVm02ijpN4kh9xr36XtyX2+rDmuU635WA2DX30pStGXFpmM/kiOGiTYKMcXiyZ9 6qjJ8Jv/cLH12gj7OK/G3hu2sHUq9OVCqxDIwDQ3WWn2YtW9ITAuJOys8UMaspu+6HgN lB2J+bKJzkBlawzhb3Z/F3Hj/mbH9DxCfuf4mk3jtAEpAJ9kIL+aNVh9Nybfw6nL+Vgo xdTQ== 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=fI/MJFAxNwZEwDdE9eOb97bng4RAkfdqBd58z3kDTgM=; b=XBJsyxusi7Odo11AgHWQiGIex2wnls+PqDEVxXI9zl1S7VcwM9nBYO6jLP3gk/RITs oFQH9/BYshDG56PK4qDkwiATq/NVoyBGfzPx/aLEzV+P07sOjdhM2KIpssaJ/oz+hW2z +dTLEFJHMUYlLFGBsM7V96Xp5cHxjKpKP+VpEKsbEB+bQGxs6Ao1WFWG58d1OG//JXBn 7QYknjQ95FyZfDtLnjNDE6wwmkZcPAeafgBpX9Rh/gksDXCQm6ZZqWdmUorC2bCz+vbO KPPYlqecfxrh76DmzGUcbvLRIkXkPpF/3p04eUPWVaCEPQl2eI50Fcu8JcVvyz5PlGuI VHww== X-Gm-Message-State: AA+aEWbz5fPciBFPoNPH07SL6RORi/cB+lY13gaPb/PJNQk89QuL0AJC pWJdrMzW4XA0lM/RnotYie4frm0ReKs6RA== X-Google-Smtp-Source: AFSGD/V7f9Ls15pkT87z2iCx7/H43U4+tOT2PLfHHFLJ1O/euqHo4VnAR6DEJMj1RfL1fzOvMH9g3A== X-Received: by 2002:a63:a401:: with SMTP id c1mr4814397pgf.403.1542781973518; Tue, 20 Nov 2018 22:32:53 -0800 (PST) Received: from cpu459.localdomain ([27.60.230.138]) by smtp.gmail.com with ESMTPSA id v76sm54582697pfj.145.2018.11.20.22.32.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Nov 2018 22:32:53 -0800 (PST) From: Siva Rebbagondla To: kernel-team@lists.ubuntu.com Subject: [SRU Xenial][RESEND][PATCH] UBUNTU: SAUCE: Redpine: fix for firmware assert upon assoc timeout Date: Wed, 21 Nov 2018 12:07:36 +0530 Message-Id: <1542782256-8199-1-git-send-email-siva8118@gmail.com> X-Mailer: git-send-email 2.5.5 X-Mailman-Approved-At: Thu, 22 Nov 2018 13:06:17 +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: Siva Rebbagondla , alex.kaluzhny@canonical.com, Sasidhar Mudigonda , Rezwanul.Kabir@dell.com 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/1804360 When Association timeout happens and station tries to scan, observed below firmware assert. Root cause: When association starts, driver is sending station add peer notify to firmware but when Association timeout happens, driver is not sending station peer delete to Firmware. Hence, FW is going into DEEP SLEEP in associated state, which causes below Firmware assert. Fix: sending station delete peer notify when assoc timeout happens ...skipping... wlan0: authenticate with ac:a3:1e:a1:1e:85 wlan0: send auth to ac:a3:1e:a1:1e:85 (try 1/3) wlan0: authenticated wlan0: associate with ac:a3:1e:a1:1e:85 (try 1/3) wlan0: associate with ac:a3:1e:a1:1e:85 (try 2/3) wlan0: associate with ac:a3:1e:a1:1e:85 (try 3/3) wlan0: association with ac:a3:1e:a1:1e:85 timed out ven_rsi_91x: rsi_disable_ps: Cannot accept disable PS in PS_NONE state ven_rsi_91x: rsi_interrupt_handler: ==> FIRMWARE Assert <== ven_rsi_91x: rsi_interrupt_handler: Firmware Status is 0xa IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready Signed-off-by: Siva Rebbagondla Acked-By: Wen-chien Jesse Sung Acked-By: Shrirang Bagul --- ubuntu/rsi/rsi_91x_mac80211.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/ubuntu/rsi/rsi_91x_mac80211.c b/ubuntu/rsi/rsi_91x_mac80211.c index 696802f..78702ff 100644 --- a/ubuntu/rsi/rsi_91x_mac80211.c +++ b/ubuntu/rsi/rsi_91x_mac80211.c @@ -2687,7 +2687,24 @@ out: return status; } +static void rsi_mac80211_event_callback(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + const struct ieee80211_event *event) +{ + struct rsi_hw *adapter = hw->priv; + struct rsi_common *common = adapter->priv; + struct ieee80211_bss_conf *bss = &adapter->vifs[0]->bss_conf; + if (event->type == MLME_EVENT && event->u.mlme.data == ASSOC_EVENT && + event->u.mlme.status == MLME_TIMEOUT) { + ven_rsi_dbg(ERR_ZONE, "%s: ASSOC Timeout: reason = %d\n", + __func__, event->u.mlme.reason); + rsi_send_sta_notify_frame(common, STA_OPMODE, + STA_DISCONNECTED, + bss->bssid, bss->qos, + bss->aid, 0); + } +} static struct ieee80211_ops mac80211_ops = { .tx = rsi_mac80211_tx, @@ -2722,6 +2739,7 @@ static struct ieee80211_ops mac80211_ops = { #endif .remain_on_channel = rsi_mac80211_roc, .cancel_remain_on_channel = rsi_mac80211_cancel_roc, + .event_callback = rsi_mac80211_event_callback, }; /**