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 <zhaojunkui2008@xxxxxxx> --- 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