Message ID | 20230113133503.58336-1-sensor1010@163.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:4e01:0:0:0:0:0 with SMTP id p1csp277075wrt; Fri, 13 Jan 2023 05:46:40 -0800 (PST) X-Google-Smtp-Source: AMrXdXukrVLZCut9zrhCu5PgGXwnqAbeOBDHQMGrlPE7qgTELaHTC2TPGtx8d9ktSTfQEPAvh1Nj X-Received: by 2002:a17:90a:8542:b0:228:ff8d:3 with SMTP id a2-20020a17090a854200b00228ff8d0003mr6569041pjw.15.1673617599854; Fri, 13 Jan 2023 05:46:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673617599; cv=none; d=google.com; s=arc-20160816; b=c6Ix+O4MCbWW2pSy1O7behWIDF8NItXl4Y6I4fuucef++vAU4l6dfoi2CPSQWbDY2u n1Hkj9DN4rtcHgorVtE/cAk7cxP4kAMOc2wj7Hk6Gm5HKvY2KCnpuOJCBN240owR0PQb tdivAntLHLj66NtlX9wprFy08euQ9ltdMISHqQF+0L9S7rKX2QP4mjXRx22DPv5t+oa2 owjhOnhvyk3csXw06hHhFdaGeIdE+opRulX/N/11k4gz2ScSKbZa6b5GXCgG5jBGTnA/ Yn8BmxhB5LgztoGlOfD/cEWeJ0MH838/F3cFyN3Nr67nyv/RGgh1WrtqGV5lsCyCS4Ei X4lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=5R8MW5PsrFpUHW2/Qso1Ea/UZDqrP1AU/pa+y91SHfc=; b=fry51MM4cHr0ap9YEnVqN5zcdTjnDG2hGg6T3icmA2lGRZumOvJ9leYkhuorE2WaT6 Ihikx9IpxIjwoGp84TKNlRQVWqj8TGh1GqsVLxtMRq2MVOAGvjQ3m8n4V8IZbGiMapzu uqX1YDj6348a3nTqTDRWnDwCDv6VLXWz/7OuD3xc69kjAXSmvvxV2Wbr6gqAtSnh6OVa J0SyqUmf5hL6+2rJVsh0oVGOsRFyYyfBHPKBA2jz/Ib8sh4aeOzXn1CgH8EOzIpc/AcA 3Rb5TUw2An1BevWctsiJZIM/2ZUFjBIO/pykz/1Lnq+x3uzEftyl8RH5KF0rVUHrSQXg nCNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=i34dA0h1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pi4-20020a17090b1e4400b00223770a1235si21632372pjb.138.2023.01.13.05.46.26; Fri, 13 Jan 2023 05:46:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@163.com header.s=s110527 header.b=i34dA0h1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=163.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240868AbjAMNok (ORCPT <rfc822;callmefire3@gmail.com> + 99 others); Fri, 13 Jan 2023 08:44:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41324 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240277AbjAMNmk (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Fri, 13 Jan 2023 08:42:40 -0500 Received: from m12.mail.163.com (m12.mail.163.com [123.126.96.234]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 0714F249; Fri, 13 Jan 2023 05:36:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=5R8MW5PsrFpUHW2/Qs o1Ea/UZDqrP1AU/pa+y91SHfc=; b=i34dA0h1bYou2dmJ0i8xL4wac/UEIJTh2c ZrR19AzAxyKn1dyPwzDxUEyxRltsoWTQ3FROg6F5klG+LYAXg6Te6ntK8IuWyAgy +pjS/OgbcKFwTelRZiI8PFZJ7shsndqYDeSUD2pBXfmcs8wcoz6DIlenHdNfjwd8 TLT+SYQCc= Received: from localhost.localdomain (unknown [114.107.204.148]) by smtp20 (Coremail) with SMTP id H91pCgDnZMAKXsFj1Gk1AQ--.2429S4; Fri, 13 Jan 2023 21:35:46 +0800 (CST) From: Lizhe <sensor1010@163.com> To: kvalo@kernel.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, johannes.berg@intel.com, alexander@wetzel-home.de Cc: linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Lizhe <sensor1010@163.com> Subject: [PATCH v1] wireless/at76c50x-usb.c : Use devm_kzalloc replaces kmalloc Date: Fri, 13 Jan 2023 05:35:03 -0800 Message-Id: <20230113133503.58336-1-sensor1010@163.com> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID: H91pCgDnZMAKXsFj1Gk1AQ--.2429S4 X-Coremail-Antispam: 1Uf129KBjvdXoWrtrWkXF4DCFWxJr43tw43Jrb_yoWfZFc_uF 4Igrn7JFWUJFs2gry7Cr47ZFySkF1xXFn7uanxKay3uw12vrW8ZrZ5ZFyavFZrurWfAFy3 Ar1DtFy5ZayvgjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7sRXtxfUUUUUU== X-Originating-IP: [114.107.204.148] X-CM-SenderInfo: 5vhq20jurqiii6rwjhhfrp/1tbiSBT1q1+FgsklaAABsf X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1754915248010090915?= X-GMAIL-MSGID: =?utf-8?q?1754915248010090915?= |
Series |
[v1] wireless/at76c50x-usb.c : Use devm_kzalloc replaces kmalloc
|
|
Commit Message
Lizhe
Jan. 13, 2023, 1:35 p.m. UTC
use devm_kzalloc replaces kamlloc
Signed-off-by: Lizhe <sensor1010@163.com>
---
drivers/net/wireless/atmel/at76c50x-usb.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Comments
On Fri, Jan 13, 2023 at 2:35 PM Lizhe <sensor1010@163.com> wrote: > > use devm_kzalloc replaces kamlloc > > Signed-off-by: Lizhe <sensor1010@163.com> > --- > drivers/net/wireless/atmel/at76c50x-usb.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c > index 009bca34ece3..ebd8ef525557 100644 > --- a/drivers/net/wireless/atmel/at76c50x-usb.c > +++ b/drivers/net/wireless/atmel/at76c50x-usb.c > @@ -2444,7 +2444,7 @@ static int at76_probe(struct usb_interface *interface, > > udev = usb_get_dev(interface_to_usbdev(interface)); > > - fwv = kmalloc(sizeof(*fwv), GFP_KERNEL); > + fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); Have you compiled this patch ? > if (!fwv) { > ret = -ENOMEM; > goto exit; > @@ -2535,7 +2535,6 @@ static int at76_probe(struct usb_interface *interface, > at76_delete_device(priv); > > exit: > - kfree(fwv); > if (ret < 0) > usb_put_dev(udev); > return ret; > -- > 2.17.1 >
Hi Lizhe, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on wireless-next/main] [also build test WARNING on wireless/main net-next/master net/master linus/master v6.2-rc3 next-20230113] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Lizhe/wireless-at76c50x-usb-c-Use-devm_kzalloc-replaces-kmalloc/20230113-214552 base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main patch link: https://lore.kernel.org/r/20230113133503.58336-1-sensor1010%40163.com patch subject: [PATCH v1] wireless/at76c50x-usb.c : Use devm_kzalloc replaces kmalloc config: m68k-allyesconfig compiler: m68k-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/8158106c5c3501cdef60ac5af6c604ea07cb7561 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Lizhe/wireless-at76c50x-usb-c-Use-devm_kzalloc-replaces-kmalloc/20230113-214552 git checkout 8158106c5c3501cdef60ac5af6c604ea07cb7561 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/net/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): drivers/net/wireless/atmel/at76c50x-usb.c: In function 'at76_probe': >> drivers/net/wireless/atmel/at76c50x-usb.c:2447:28: warning: passing argument 1 of 'devm_kzalloc' makes pointer from integer without a cast [-Wint-conversion] 2447 | fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); | ^~~~~~~~~~~~ | | | unsigned int In file included from include/linux/usb.h:19, from drivers/net/wireless/atmel/at76c50x-usb.c:31: include/linux/device.h:207:49: note: expected 'struct device *' but argument is of type 'unsigned int' 207 | static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp) | ~~~~~~~~~~~~~~~^~~ drivers/net/wireless/atmel/at76c50x-usb.c:2447:15: error: too few arguments to function 'devm_kzalloc' 2447 | fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); | ^~~~~~~~~~~~ include/linux/device.h:207:21: note: declared here 207 | static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp) | ^~~~~~~~~~~~ vim +/devm_kzalloc +2447 drivers/net/wireless/atmel/at76c50x-usb.c 2432 2433 static int at76_probe(struct usb_interface *interface, 2434 const struct usb_device_id *id) 2435 { 2436 int ret; 2437 struct at76_priv *priv; 2438 struct fwentry *fwe; 2439 struct usb_device *udev; 2440 int op_mode; 2441 int need_ext_fw = 0; 2442 struct mib_fw_version *fwv = NULL; 2443 int board_type = (int)id->driver_info; 2444 2445 udev = usb_get_dev(interface_to_usbdev(interface)); 2446 > 2447 fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); 2448 if (!fwv) { 2449 ret = -ENOMEM; 2450 goto exit; 2451 } 2452 2453 /* Load firmware into kernel memory */ 2454 fwe = at76_load_firmware(udev, board_type); 2455 if (!fwe) { 2456 ret = -ENOENT; 2457 goto exit; 2458 } 2459 2460 op_mode = at76_get_op_mode(udev); 2461 2462 at76_dbg(DBG_DEVSTART, "opmode %d", op_mode); 2463 2464 /* we get OPMODE_NONE with 2.4.23, SMC2662W-AR ??? 2465 we get 204 with 2.4.23, Fiberline FL-WL240u (505A+RFMD2958) ??? */ 2466 2467 if (op_mode == OPMODE_HW_CONFIG_MODE) { 2468 dev_err(&interface->dev, 2469 "cannot handle a device in HW_CONFIG_MODE\n"); 2470 ret = -EBUSY; 2471 goto exit; 2472 } 2473 2474 if (op_mode != OPMODE_NORMAL_NIC_WITH_FLASH 2475 && op_mode != OPMODE_NORMAL_NIC_WITHOUT_FLASH) { 2476 /* download internal firmware part */ 2477 dev_printk(KERN_DEBUG, &interface->dev, 2478 "downloading internal firmware\n"); 2479 ret = at76_load_internal_fw(udev, fwe); 2480 if (ret < 0) { 2481 dev_err(&interface->dev, 2482 "error %d downloading internal firmware\n", 2483 ret); 2484 } 2485 goto exit; 2486 } 2487 2488 /* Internal firmware already inside the device. Get firmware 2489 * version to test if external firmware is loaded. 2490 * This works only for newer firmware, e.g. the Intersil 0.90.x 2491 * says "control timeout on ep0in" and subsequent 2492 * at76_get_op_mode() fail too :-( */ 2493 2494 /* if version >= 0.100.x.y or device with built-in flash we can 2495 * query the device for the fw version */ 2496 if ((fwe->fw_version.major > 0 || fwe->fw_version.minor >= 100) 2497 || (op_mode == OPMODE_NORMAL_NIC_WITH_FLASH)) { 2498 ret = at76_get_mib(udev, MIB_FW_VERSION, fwv, sizeof(*fwv)); 2499 if (ret < 0 || (fwv->major | fwv->minor) == 0) 2500 need_ext_fw = 1; 2501 } else 2502 /* No way to check firmware version, reload to be sure */ 2503 need_ext_fw = 1; 2504 2505 if (need_ext_fw) { 2506 dev_printk(KERN_DEBUG, &interface->dev, 2507 "downloading external firmware\n"); 2508 2509 ret = at76_load_external_fw(udev, fwe); 2510 if (ret < 0) 2511 goto exit; 2512 2513 /* Re-check firmware version */ 2514 ret = at76_get_mib(udev, MIB_FW_VERSION, fwv, sizeof(*fwv)); 2515 if (ret < 0) { 2516 dev_err(&interface->dev, 2517 "error %d getting firmware version\n", ret); 2518 goto exit; 2519 } 2520 } 2521 2522 priv = at76_alloc_new_device(udev); 2523 if (!priv) { 2524 ret = -ENOMEM; 2525 goto exit; 2526 } 2527 2528 usb_set_intfdata(interface, priv); 2529 2530 memcpy(&priv->fw_version, fwv, sizeof(struct mib_fw_version)); 2531 priv->board_type = board_type; 2532 2533 ret = at76_init_new_device(priv, interface); 2534 if (ret < 0) 2535 at76_delete_device(priv); 2536 2537 exit: 2538 if (ret < 0) 2539 usb_put_dev(udev); 2540 return ret; 2541 } 2542
Hi Lizhe, Thank you for the patch! Yet something to improve: [auto build test ERROR on wireless-next/main] [also build test ERROR on wireless/main net-next/master net/master linus/master v6.2-rc3 next-20230113] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Lizhe/wireless-at76c50x-usb-c-Use-devm_kzalloc-replaces-kmalloc/20230113-214552 base: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git main patch link: https://lore.kernel.org/r/20230113133503.58336-1-sensor1010%40163.com patch subject: [PATCH v1] wireless/at76c50x-usb.c : Use devm_kzalloc replaces kmalloc config: sh-allmodconfig compiler: sh4-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/intel-lab-lkp/linux/commit/8158106c5c3501cdef60ac5af6c604ea07cb7561 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Lizhe/wireless-at76c50x-usb-c-Use-devm_kzalloc-replaces-kmalloc/20230113-214552 git checkout 8158106c5c3501cdef60ac5af6c604ea07cb7561 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=sh SHELL=/bin/bash drivers/net/wireless/atmel/ If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): drivers/net/wireless/atmel/at76c50x-usb.c: In function 'at76_probe': drivers/net/wireless/atmel/at76c50x-usb.c:2447:28: warning: passing argument 1 of 'devm_kzalloc' makes pointer from integer without a cast [-Wint-conversion] 2447 | fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); | ^~~~~~~~~~~~ | | | unsigned int In file included from include/linux/usb.h:19, from drivers/net/wireless/atmel/at76c50x-usb.c:31: include/linux/device.h:207:49: note: expected 'struct device *' but argument is of type 'unsigned int' 207 | static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp) | ~~~~~~~~~~~~~~~^~~ >> drivers/net/wireless/atmel/at76c50x-usb.c:2447:15: error: too few arguments to function 'devm_kzalloc' 2447 | fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); | ^~~~~~~~~~~~ include/linux/device.h:207:21: note: declared here 207 | static inline void *devm_kzalloc(struct device *dev, size_t size, gfp_t gfp) | ^~~~~~~~~~~~ vim +/devm_kzalloc +2447 drivers/net/wireless/atmel/at76c50x-usb.c 2432 2433 static int at76_probe(struct usb_interface *interface, 2434 const struct usb_device_id *id) 2435 { 2436 int ret; 2437 struct at76_priv *priv; 2438 struct fwentry *fwe; 2439 struct usb_device *udev; 2440 int op_mode; 2441 int need_ext_fw = 0; 2442 struct mib_fw_version *fwv = NULL; 2443 int board_type = (int)id->driver_info; 2444 2445 udev = usb_get_dev(interface_to_usbdev(interface)); 2446 > 2447 fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); 2448 if (!fwv) { 2449 ret = -ENOMEM; 2450 goto exit; 2451 } 2452 2453 /* Load firmware into kernel memory */ 2454 fwe = at76_load_firmware(udev, board_type); 2455 if (!fwe) { 2456 ret = -ENOENT; 2457 goto exit; 2458 } 2459 2460 op_mode = at76_get_op_mode(udev); 2461 2462 at76_dbg(DBG_DEVSTART, "opmode %d", op_mode); 2463 2464 /* we get OPMODE_NONE with 2.4.23, SMC2662W-AR ??? 2465 we get 204 with 2.4.23, Fiberline FL-WL240u (505A+RFMD2958) ??? */ 2466 2467 if (op_mode == OPMODE_HW_CONFIG_MODE) { 2468 dev_err(&interface->dev, 2469 "cannot handle a device in HW_CONFIG_MODE\n"); 2470 ret = -EBUSY; 2471 goto exit; 2472 } 2473 2474 if (op_mode != OPMODE_NORMAL_NIC_WITH_FLASH 2475 && op_mode != OPMODE_NORMAL_NIC_WITHOUT_FLASH) { 2476 /* download internal firmware part */ 2477 dev_printk(KERN_DEBUG, &interface->dev, 2478 "downloading internal firmware\n"); 2479 ret = at76_load_internal_fw(udev, fwe); 2480 if (ret < 0) { 2481 dev_err(&interface->dev, 2482 "error %d downloading internal firmware\n", 2483 ret); 2484 } 2485 goto exit; 2486 } 2487 2488 /* Internal firmware already inside the device. Get firmware 2489 * version to test if external firmware is loaded. 2490 * This works only for newer firmware, e.g. the Intersil 0.90.x 2491 * says "control timeout on ep0in" and subsequent 2492 * at76_get_op_mode() fail too :-( */ 2493 2494 /* if version >= 0.100.x.y or device with built-in flash we can 2495 * query the device for the fw version */ 2496 if ((fwe->fw_version.major > 0 || fwe->fw_version.minor >= 100) 2497 || (op_mode == OPMODE_NORMAL_NIC_WITH_FLASH)) { 2498 ret = at76_get_mib(udev, MIB_FW_VERSION, fwv, sizeof(*fwv)); 2499 if (ret < 0 || (fwv->major | fwv->minor) == 0) 2500 need_ext_fw = 1; 2501 } else 2502 /* No way to check firmware version, reload to be sure */ 2503 need_ext_fw = 1; 2504 2505 if (need_ext_fw) { 2506 dev_printk(KERN_DEBUG, &interface->dev, 2507 "downloading external firmware\n"); 2508 2509 ret = at76_load_external_fw(udev, fwe); 2510 if (ret < 0) 2511 goto exit; 2512 2513 /* Re-check firmware version */ 2514 ret = at76_get_mib(udev, MIB_FW_VERSION, fwv, sizeof(*fwv)); 2515 if (ret < 0) { 2516 dev_err(&interface->dev, 2517 "error %d getting firmware version\n", ret); 2518 goto exit; 2519 } 2520 } 2521 2522 priv = at76_alloc_new_device(udev); 2523 if (!priv) { 2524 ret = -ENOMEM; 2525 goto exit; 2526 } 2527 2528 usb_set_intfdata(interface, priv); 2529 2530 memcpy(&priv->fw_version, fwv, sizeof(struct mib_fw_version)); 2531 priv->board_type = board_type; 2532 2533 ret = at76_init_new_device(priv, interface); 2534 if (ret < 0) 2535 at76_delete_device(priv); 2536 2537 exit: 2538 if (ret < 0) 2539 usb_put_dev(udev); 2540 return ret; 2541 } 2542
Eric Dumazet <edumazet@google.com> writes: > On Fri, Jan 13, 2023 at 2:35 PM Lizhe <sensor1010@163.com> wrote: >> >> use devm_kzalloc replaces kamlloc >> >> Signed-off-by: Lizhe <sensor1010@163.com> >> --- >> drivers/net/wireless/atmel/at76c50x-usb.c | 3 +-- >> 1 file changed, 1 insertion(+), 2 deletions(-) >> >> diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c >> index 009bca34ece3..ebd8ef525557 100644 >> --- a/drivers/net/wireless/atmel/at76c50x-usb.c >> +++ b/drivers/net/wireless/atmel/at76c50x-usb.c >> @@ -2444,7 +2444,7 @@ static int at76_probe(struct usb_interface *interface, >> >> udev = usb_get_dev(interface_to_usbdev(interface)); >> >> - fwv = kmalloc(sizeof(*fwv), GFP_KERNEL); >> + fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); > > Have you compiled this patch ? Clearly not: https://lore.kernel.org/linux-wireless/202301140533.jMlST9Ur-lkp@intel.com/ Lizhe, do not EVER submit untested patches. In some simple patches doing just a compilation test might suffice, but please mention the patch is only compile tested clearly in the commit log. But not even doing a compilation test is a big no.
diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c index 009bca34ece3..ebd8ef525557 100644 --- a/drivers/net/wireless/atmel/at76c50x-usb.c +++ b/drivers/net/wireless/atmel/at76c50x-usb.c @@ -2444,7 +2444,7 @@ static int at76_probe(struct usb_interface *interface, udev = usb_get_dev(interface_to_usbdev(interface)); - fwv = kmalloc(sizeof(*fwv), GFP_KERNEL); + fwv = devm_kzalloc(sizeof(*fwv), GFP_KERNEL); if (!fwv) { ret = -ENOMEM; goto exit; @@ -2535,7 +2535,6 @@ static int at76_probe(struct usb_interface *interface, at76_delete_device(priv); exit: - kfree(fwv); if (ret < 0) usb_put_dev(udev); return ret;