[PATCH] usb/peak_usb: cleanup code

Subsystems: can network drivers, the rest

STALE1543d

6 messages, 3 authors, 2022-05-11 · open the first message on its own page

[PATCH] usb/peak_usb: cleanup code

From: Bernard Zhao <hidden>
Date: 2022-05-11 06:40:16

The variable fi and bi only used in branch if (!dev->prev_siblings)
, fi & bi not kmalloc in else branch, so move kfree into branch
if (!dev->prev_siblings),this change is to cleanup the code a bit.

Signed-off-by: Bernard Zhao <redacted>
---
 drivers/net/can/usb/peak_usb/pcan_usb_pro.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_pro.c b/drivers/net/can/usb/peak_usb/pcan_usb_pro.c
index ebe087f258e3..70c5aef57247 100644
--- a/drivers/net/can/usb/peak_usb/pcan_usb_pro.c
+++ b/drivers/net/can/usb/peak_usb/pcan_usb_pro.c
@@ -903,6 +903,9 @@ static int pcan_usb_pro_init(struct peak_usb_device *dev)
 		     pcan_usb_pro.name,
 		     bi->hw_rev, bi->serial_num_hi, bi->serial_num_lo,
 		     pcan_usb_pro.ctrl_count);
+
+		kfree(bi);
+		kfree(fi);
 	} else {
 		usb_if = pcan_usb_pro_dev_if(dev->prev_siblings);
 	}
@@ -913,9 +916,6 @@ static int pcan_usb_pro_init(struct peak_usb_device *dev)
 	/* set LED in default state (end of init phase) */
 	pcan_usb_pro_set_led(dev, PCAN_USBPRO_LED_DEVICE, 1);
 
-	kfree(bi);
-	kfree(fi);
-
 	return 0;
 
  err_out:
-- 
2.33.1

Re: [PATCH] usb/peak_usb: cleanup code

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2022-05-11 06:45:16

On 10.05.2022 23:38:38, Bernard Zhao wrote:
The variable fi and bi only used in branch if (!dev->prev_siblings)
, fi & bi not kmalloc in else branch, so move kfree into branch
if (!dev->prev_siblings),this change is to cleanup the code a bit.
Please move the variable declaration into that scope, too. Adjust the
error handling accordingly.

regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

Re:Re: [PATCH] usb/peak_usb: cleanup code

From: z <hidden>
Date: 2022-05-11 07:12:26

At 2022-05-11 14:44:50, "Marc Kleine-Budde" [off-list ref] wrote:
On 10.05.2022 23:38:38, Bernard Zhao wrote:
quoted
The variable fi and bi only used in branch if (!dev->prev_siblings)
, fi & bi not kmalloc in else branch, so move kfree into branch
if (!dev->prev_siblings),this change is to cleanup the code a bit.
Please move the variable declaration into that scope, too. Adjust the
error handling accordingly.
Hi Marc:

I am not sure if there is some gap.
If we move the variable declaration into that scope, then each error branch has to do the kfree job, like:
if (err) {
			dev_err(dev->netdev->dev.parent,
				"unable to read %s firmware info (err %d)\n",
				pcan_usb_pro.name, err);
	                kfree(bi);
	                kfree(fi);
	                kfree(usb_if);

	               return err;
		}
I am not sure if this looks a little less clear?
Thanks!

BR//Bernard
regards,
Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

Re: Re: [PATCH] usb/peak_usb: cleanup code

From: Vincent MAILHOL <hidden>
Date: 2022-05-11 08:28:48

On Wed. 11 May 2022 at 16:11, z [off-list ref] wrote:
At 2022-05-11 14:44:50, "Marc Kleine-Budde" [off-list ref] wrote:
quoted
On 10.05.2022 23:38:38, Bernard Zhao wrote:
quoted
The variable fi and bi only used in branch if (!dev->prev_siblings)
, fi & bi not kmalloc in else branch, so move kfree into branch
if (!dev->prev_siblings),this change is to cleanup the code a bit.
Please move the variable declaration into that scope, too. Adjust the
error handling accordingly.
Hi Marc:

I am not sure if there is some gap.
If we move the variable declaration into that scope, then each error branch has to do the kfree job, like:
if (err) {
                        dev_err(dev->netdev->dev.parent,
                                "unable to read %s firmware info (err %d)\n",
                                pcan_usb_pro.name, err);
                        kfree(bi);
                        kfree(fi);
                        kfree(usb_if);

                       return err;
                }
I am not sure if this looks a little less clear?
Thanks!
A cleaner way would be to move all the content of the if
(!dev->prev_siblings) to a new function.


Yours sincerely,
Vincent Mailhol

Re: [PATCH] usb/peak_usb: cleanup code

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2022-05-11 08:47:31

On 11.05.2022 17:28:26, Vincent MAILHOL wrote:
On Wed. 11 May 2022 at 16:11, z [off-list ref] wrote:
quoted
At 2022-05-11 14:44:50, "Marc Kleine-Budde" [off-list ref] wrote:
quoted
On 10.05.2022 23:38:38, Bernard Zhao wrote:
quoted
The variable fi and bi only used in branch if (!dev->prev_siblings)
, fi & bi not kmalloc in else branch, so move kfree into branch
if (!dev->prev_siblings),this change is to cleanup the code a bit.
Please move the variable declaration into that scope, too. Adjust the
error handling accordingly.
Hi Marc:

I am not sure if there is some gap.
If we move the variable declaration into that scope, then each error branch has to do the kfree job, like:
if (err) {
                        dev_err(dev->netdev->dev.parent,
                                "unable to read %s firmware info (err %d)\n",
                                pcan_usb_pro.name, err);
                        kfree(bi);
                        kfree(fi);
                        kfree(usb_if);

                       return err;
                }
I am not sure if this looks a little less clear?
Thanks!
A cleaner way would be to move all the content of the if
(!dev->prev_siblings) to a new function.
Good idea.

Marc

-- 
Pengutronix e.K.                 | Marc Kleine-Budde           |
Embedded Linux                   | https://www.pengutronix.de  |
Vertretung West/Dortmund         | Phone: +49-231-2826-924     |
Amtsgericht Hildesheim, HRA 2686 | Fax:   +49-5121-206917-5555 |

Re:Re: Re: [PATCH] usb/peak_usb: cleanup code

From: z <hidden>
Date: 2022-05-11 08:48:31

At 2022-05-11 16:28:26, "Vincent MAILHOL" [off-list ref] wrote:
On Wed. 11 May 2022 at 16:11, z [off-list ref] wrote:
quoted
At 2022-05-11 14:44:50, "Marc Kleine-Budde" [off-list ref] wrote:
quoted
On 10.05.2022 23:38:38, Bernard Zhao wrote:
quoted
The variable fi and bi only used in branch if (!dev->prev_siblings)
, fi & bi not kmalloc in else branch, so move kfree into branch
if (!dev->prev_siblings),this change is to cleanup the code a bit.
Please move the variable declaration into that scope, too. Adjust the
error handling accordingly.
Hi Marc:

I am not sure if there is some gap.
If we move the variable declaration into that scope, then each error branch has to do the kfree job, like:
if (err) {
                        dev_err(dev->netdev->dev.parent,
                                "unable to read %s firmware info (err %d)\n",
                                pcan_usb_pro.name, err);
                        kfree(bi);
                        kfree(fi);
                        kfree(usb_if);

                       return err;
                }
I am not sure if this looks a little less clear?
Thanks!
A cleaner way would be to move all the content of the if
(!dev->prev_siblings) to a new function.
Hi Vincent Mailhol:

Got it.
This seems to be a good idea, i would resubmit one patch V2.
Thanks!

BR//Bernard
Yours sincerely,
Vincent Mailhol
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help