From patchwork Fri May 5 19:47:27 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 98720 Delivered-To: patch@linaro.org Received: by 10.140.96.100 with SMTP id j91csp293330qge; Fri, 5 May 2017 12:49:57 -0700 (PDT) X-Received: by 10.98.26.6 with SMTP id a6mr18898058pfa.10.1494013797387; Fri, 05 May 2017 12:49:57 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 1si2689373pgp.198.2017.05.05.12.49.57; Fri, 05 May 2017 12:49:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755998AbdEETt4 (ORCPT + 6 others); Fri, 5 May 2017 15:49:56 -0400 Received: from mout.kundenserver.de ([212.227.126.133]:62232 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755660AbdEETs4 (ORCPT ); Fri, 5 May 2017 15:48:56 -0400 Received: from wuerfel.lan ([78.42.17.5]) by mrelayeu.kundenserver.de (mreue002 [212.227.15.129]) with ESMTPA (Nemesis) id 0Lsc93-1e4Eh42O2T-012H12; Fri, 05 May 2017 21:48:31 +0200 From: Arnd Bergmann To: Ben Hutchings Cc: stable@vger.kernel.org, A Raghavendra Rao , A Raghavendra Rao , Greg Kroah-Hartman , Arnd Bergmann Subject: [PATCH 3.16-stable 69/87] Staging: wlan-ng: fix sparse warning in prism2fw.c Date: Fri, 5 May 2017 21:47:27 +0200 Message-Id: <20170505194745.3627137-70-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170505194745.3627137-1-arnd@arndb.de> References: <20170505194745.3627137-1-arnd@arndb.de> MIME-Version: 1.0 X-Provags-ID: V03:K0:fKPm6xeiGDFnwRpjFTV9386vNd/tdrqbqn1HeX/wVup3PEknyWM bGKBBJUBZuxE6jDTvmU/s1ocAXfv9yiApAB51y/IaG/DlO/enh3wV0erJmNOQGRh4QjWTea KIVfgI/vprEIqm+tOTiSFFzQcG8tcI9Z2JsodnR+e5kzsySP1RbWLbdRq3wqdxcbtdfmSMK HN+WegHzfyMqyfQ7HHd/g== X-UI-Out-Filterresults: notjunk:1; V01:K0:XP2NtON9pY4=:CBpzoCvSxx4l2TIivqomhg mZAt0tZsWKX5Cg4CSNNBQKXOeTbkJHVniQy1f6ttD8y5nG0Nza7oDzBb56hVKYlv3+2RUPtYR 7EUNc9/NKT4n7GCRvLb33qgwGBjEx+yGpnDLLFKNMjfiNcUAjYnpHKj9gTgTFnwX6VBc1oTzb BrussqX7I1hWtx2WbzhB9GL7XRTD4fOulB/g2FySRIM3SWoXKaaYFfgHFn6jp4TQEHDHXlLLx jZBRRuuTL9gxcAvUVWitvgKi3U/k2MawAtDnTm2T8zyGmu/V9fOqqN2wfxNzf1RFW/qASmeqR gz3dRzug3GBM5674neddETXbRRhXBlXsbTY4T6NJjmdUf5LIRcZWZwZ/kwkTRJchs0uMPlx88 YRRJPCtPGepHfdVXPiVt/EBDJmg+MphoVPmAKFZheDNZNKWfRK63EZCnnhPR4OIQxTffmr0vW Xjfk16WLE8lhPSu3fv0o8tg9+XwR7CJCY2V9DQaywTmVBphN8r+iZEWAgbB5r7xWE44f0elWO rerstXYbFmTdRnp/94+n+YBoO95BtOUOM0xafdk3AqYLkh/Iaxspao+PngUVsYWyHXAktIdJb PbCRi+7Dek/Vqn7sz/eT+djcQuXcMxaBCFky+3n/twkwYDHnZmh1R133BGCXUbbzyV7PtBfGZ 06YiTGuNNjhQRMMLR2BKM9NmA4r3c23CglxF+ANAeCbRzI/VReJPKXitBCz7KCIZP0G+Xp0ad eWl/vBORSo16YTES Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: A Raghavendra Rao Commit da00fc79ae504f0db7bb1c03efa40f4c6cae883d upstream. Fix the following sparse warning : In file included from drivers/staging/wlan-ng/prism2usb.c:5:0: drivers/staging/wlan-ng/prism2fw.c: In function ‘read_cardpda.constprop.43’: drivers/staging/wlan-ng/prism2fw.c:792:1: warning: the frame size of 1068 bytes is larger than 1024 bytes [-Wframe-larger-than=] The variable to 'struct p80211msg_p2req_readpda' was previously being created on the stack, which inturn exeeded the frame size limit, resulting in a sparse warning. This patch alloctes the memory to the structure dynamically and the operations are left unchanged. Signed-off-by: A Raghavendra Rao Signed-off-by: Greg Kroah-Hartman Signed-off-by: Arnd Bergmann --- drivers/staging/wlan-ng/prism2fw.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) -- 2.9.0 diff --git a/drivers/staging/wlan-ng/prism2fw.c b/drivers/staging/wlan-ng/prism2fw.c index f7870355c69f..45182ea4172f 100644 --- a/drivers/staging/wlan-ng/prism2fw.c +++ b/drivers/staging/wlan-ng/prism2fw.c @@ -763,30 +763,35 @@ static int plugimage(struct imgchunk *fchunk, unsigned int nfchunks, static int read_cardpda(struct pda *pda, wlandevice_t *wlandev) { int result = 0; - struct p80211msg_p2req_readpda msg; + struct p80211msg_p2req_readpda *msg; + + msg = kzalloc(sizeof(*msg), GFP_KERNEL); + if (!msg) + return -ENOMEM; /* set up the msg */ - msg.msgcode = DIDmsg_p2req_readpda; - msg.msglen = sizeof(msg); - strcpy(msg.devname, wlandev->name); - msg.pda.did = DIDmsg_p2req_readpda_pda; - msg.pda.len = HFA384x_PDA_LEN_MAX; - msg.pda.status = P80211ENUM_msgitem_status_no_value; - msg.resultcode.did = DIDmsg_p2req_readpda_resultcode; - msg.resultcode.len = sizeof(u32); - msg.resultcode.status = P80211ENUM_msgitem_status_no_value; - - if (prism2mgmt_readpda(wlandev, &msg) != 0) { + msg->msgcode = DIDmsg_p2req_readpda; + msg->msglen = sizeof(msg); + strcpy(msg->devname, wlandev->name); + msg->pda.did = DIDmsg_p2req_readpda_pda; + msg->pda.len = HFA384x_PDA_LEN_MAX; + msg->pda.status = P80211ENUM_msgitem_status_no_value; + msg->resultcode.did = DIDmsg_p2req_readpda_resultcode; + msg->resultcode.len = sizeof(u32); + msg->resultcode.status = P80211ENUM_msgitem_status_no_value; + + if (prism2mgmt_readpda(wlandev, msg) != 0) { /* prism2mgmt_readpda prints an errno if appropriate */ result = -1; - } else if (msg.resultcode.data == P80211ENUM_resultcode_success) { - memcpy(pda->buf, msg.pda.data, HFA384x_PDA_LEN_MAX); + } else if (msg->resultcode.data == P80211ENUM_resultcode_success) { + memcpy(pda->buf, msg->pda.data, HFA384x_PDA_LEN_MAX); result = mkpdrlist(pda); } else { /* resultcode must've been something other than success */ result = -1; } + kfree(msg); return result; }