From patchwork Thu Jan 3 02:12:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Larry Finger X-Patchwork-Id: 1020157 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=lwfinger.net Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gWbtkXj5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43VWfY2yKJz9s55 for ; Thu, 3 Jan 2019 13:13:09 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728084AbfACCNI (ORCPT ); Wed, 2 Jan 2019 21:13:08 -0500 Received: from mail-ot1-f65.google.com ([209.85.210.65]:34943 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727013AbfACCNH (ORCPT ); Wed, 2 Jan 2019 21:13:07 -0500 Received: by mail-ot1-f65.google.com with SMTP id 81so28297155otj.2; Wed, 02 Jan 2019 18:13:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=pQDWrDKbK/d0L97SoaGnxXZTvvCu6+/OxEQuZmVYEf8=; b=gWbtkXj5jOrUFi+zks4WHzUs5nbzCrRBBwgAcGLQS/mk2J3PRPrZ59/p8BrBL62l5q qnxXmpyZ7Hye2GSlvFkW5k/NRsA+rY1qJSAvj8XgnhgPfVuQIwWbfwyJHfkQ43xczpeE Qipg2q9MiuJA8gxPTKk79cAqpvMfjdh1KeQi/ohTcxD4C6wJZXoYjpkbXUetgmPgHv6T f1vXxWss6Glp/+OyLPVTrXqEsOunLATwJWYGF/sf7diBi/jKTysjlUZSgEZ5TtMFJzWA 1TIXEe5JiAQApqJ+O76xSu80t6ACJreje2mkPYdr4urIEqmS1UPCo8qDqHihWq8sFxba MdaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=pQDWrDKbK/d0L97SoaGnxXZTvvCu6+/OxEQuZmVYEf8=; b=luLTVYPKgSa5gAOSGO6Y2qydtgwgRWwGjCG/rWySRbCETzTlST/btIUnUMP5RjE4h7 uSSEr+5rdLY2hmrl5qY8U6W5VRBgNcWG40t9K8moMtF0Kqz5q6ffAhbpQ1/QHC7su9sU SKA6ifeGxjXdufsiujJswr0oMFk7Y3kOOoMD+kB4Oh1SdgXxqd0OFCttjCdaWulDaTK/ N/0cz3zwSntlyfPK0TZwOvguSOXdQVv6w3ccAg5rxy0U5rTDsE+cTEWEsvMlRqfm6dlO 5twMfIxII00+xPRwFKW9NtX7nfrg7V9KpelYHEI0jH0VFPHE/yB1hPIsduunSEBi5H+F 7qNg== X-Gm-Message-State: AJcUukcJEVya8LuNSrMKD8WauthukBaDgIYn3cYSOMPkieKj6/3nBwbc u4ksBjzyeaQtrdc+K2t1u+M= X-Google-Smtp-Source: ALg8bN4eXAkHZuBFcdC0e6X4LblZYvoMhC6c38QHh4UFrUGba8oxrJEVFjnl+sWAuRh6Mu439NQlsQ== X-Received: by 2002:a9d:721e:: with SMTP id u30mr7139928otj.203.1546481586599; Wed, 02 Jan 2019 18:13:06 -0800 (PST) Received: from localhost.localdomain (cpe-24-31-245-230.kc.res.rr.com. [24.31.245.230]) by smtp.gmail.com with ESMTPSA id v3sm49418239oib.57.2019.01.02.18.13.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 02 Jan 2019 18:13:06 -0800 (PST) From: Larry Finger To: gregkh@linuxfoundation.org Cc: netdev@vger.kernel.org, devel@driverdev.osuosl.org, Larry Finger , Stable , Michael Straube , Ivan Safonov Subject: [PATCH 2/2] staging: rtl8188eu: Fix module loading from tasklet for WEP encryption Date: Wed, 2 Jan 2019 20:12:47 -0600 Message-Id: <20190103021247.19367-3-Larry.Finger@lwfinger.net> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190103021247.19367-1-Larry.Finger@lwfinger.net> References: <20190103021247.19367-1-Larry.Finger@lwfinger.net> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Commit 2b2ea09e74a5 ("staging:r8188eu: Use lib80211 to decrypt WEP-frames") causes scheduling while atomic bugs followed by a hard freeze whenever the driver tries to connect to a WEP-encrypted network. Experimentation showed that the freezes were eliminated when module lib80211 was preloaded, which can be forced by calling lib80211_get_crypto_ops() directly rather than indirectly through try_then_request_module(). With this change, no BUG messages are logged. Fixes: 2b2ea09e74a5 ("staging:r8188eu: Use lib80211 to decrypt WEP-frames") Cc: Stable # v4.17+ Cc: Michael Straube Cc: Ivan Safonov Signed-off-by: Larry Finger --- drivers/staging/rtl8188eu/core/rtw_security.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/rtl8188eu/core/rtw_security.c b/drivers/staging/rtl8188eu/core/rtw_security.c index 052656a22821..bab96c870042 100644 --- a/drivers/staging/rtl8188eu/core/rtw_security.c +++ b/drivers/staging/rtl8188eu/core/rtw_security.c @@ -154,7 +154,7 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) pframe = ((struct xmit_frame *)pxmitframe)->buf_addr + hw_hdr_offset; - crypto_ops = try_then_request_module(lib80211_get_crypto_ops("WEP"), "lib80211_crypt_wep"); + crypto_ops = lib80211_get_crypto_ops("WEP"); if (!crypto_ops) return; @@ -210,7 +210,7 @@ int rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe) void *crypto_private = NULL; int status = _SUCCESS; const int keyindex = prxattrib->key_index; - struct lib80211_crypto_ops *crypto_ops = try_then_request_module(lib80211_get_crypto_ops("WEP"), "lib80211_crypt_wep"); + struct lib80211_crypto_ops *crypto_ops = lib80211_get_crypto_ops("WEP"); char iv[4], icv[4]; if (!crypto_ops) {