mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
wifi: brcm80211: fmac: Add error log in brcmf_usb_dl_cmd()
In brcmf_usb_dl_cmd(), the error logging is not enough to describe the error state. And some caller of the brcmf_usb_dl_cmd() does not handle its error. An error log in brcmf_usb_dl_cmd() is needed to prevent silent failure. Add error handling in brcmf_usb_dl_cmd() to log the command id and error code in the brcmf_usb_dl_cmd() fails. In this way, every invocation of the function logs a message upon failure. Signed-off-by: Wentao Liang <vulab@iscas.ac.cn> Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com> Link: https://patch.msgid.link/20250422065938.2345-1-vulab@iscas.ac.cn Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
fcc2d3e11b
commit
a3cdd0899b
|
|
@ -741,15 +741,19 @@ static int brcmf_usb_dl_cmd(struct brcmf_usbdev_info *devinfo, u8 cmd,
|
|||
void *buffer, int buflen)
|
||||
{
|
||||
int ret;
|
||||
char *tmpbuf;
|
||||
char *tmpbuf = NULL;
|
||||
u16 size;
|
||||
|
||||
if ((!devinfo) || (devinfo->ctl_urb == NULL))
|
||||
return -EINVAL;
|
||||
if (!devinfo || !devinfo->ctl_urb) {
|
||||
ret = -EINVAL;
|
||||
goto err;
|
||||
}
|
||||
|
||||
tmpbuf = kmalloc(buflen, GFP_ATOMIC);
|
||||
if (!tmpbuf)
|
||||
return -ENOMEM;
|
||||
if (!tmpbuf) {
|
||||
ret = -ENOMEM;
|
||||
goto err;
|
||||
}
|
||||
|
||||
size = buflen;
|
||||
devinfo->ctl_urb->transfer_buffer_length = size;
|
||||
|
|
@ -770,18 +774,23 @@ static int brcmf_usb_dl_cmd(struct brcmf_usbdev_info *devinfo, u8 cmd,
|
|||
ret = usb_submit_urb(devinfo->ctl_urb, GFP_ATOMIC);
|
||||
if (ret < 0) {
|
||||
brcmf_err("usb_submit_urb failed %d\n", ret);
|
||||
goto finalize;
|
||||
goto err;
|
||||
}
|
||||
|
||||
if (!brcmf_usb_ioctl_resp_wait(devinfo)) {
|
||||
usb_kill_urb(devinfo->ctl_urb);
|
||||
ret = -ETIMEDOUT;
|
||||
goto err;
|
||||
} else {
|
||||
memcpy(buffer, tmpbuf, buflen);
|
||||
}
|
||||
|
||||
finalize:
|
||||
kfree(tmpbuf);
|
||||
return 0;
|
||||
|
||||
err:
|
||||
kfree(tmpbuf);
|
||||
brcmf_err("dl cmd %u failed: err=%d\n", cmd, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user