2018-09-27 20:19:00

by Luiz Carlos Ramos

[permalink] [raw]
Subject: [PATCH] ath3k: add more information to error message

When there is an error in either ath3k_load_firmware() or
ath3k_load_fwfile(), the inlined function ath3k_log_failed_loading() is
called receiving the error returned and both the block size requested to
load and the size actually loaded. These values are printed in an error
message using the macro BT_ERR.

This patch changes that function in order to print the variable "count"
as well, to show more information when a failing firmware loading
operation happens. The calls to the older function were changed to the
new one.

This event is being monitored in a laptop with an adapter which
identifies itself as 0cf3:0036, where sometimes there are errors in the
firmware loading process.

Signed-off-by: Luiz Carlos Ramos <[email protected]>
---
drivers/bluetooth/ath3k.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
index 3a8c47efea55..73453fdff4e7 100644
--- a/drivers/bluetooth/ath3k.c
+++ b/drivers/bluetooth/ath3k.c
@@ -203,10 +203,12 @@ static const struct usb_device_id ath3k_blist_tbl[] = {
{ } /* Terminating entry */
};

-static inline void ath3k_log_failed_loading(int err, int len, int size)
+static inline void ath3k_log_failed_loading(int err, int len, int size,
+ int count)
{
- BT_ERR("Error in firmware loading err = %d, len = %d, size = %d",
- err, len, size);
+ BT_ERR("%s err = %d, len = %d, size = %d, count = %d",
+ "Error in firmware loading",
+ err, len, size, count);
}

#define USB_REQ_DFU_DNLOAD 1
@@ -257,7 +259,7 @@ static int ath3k_load_firmware(struct usb_device *udev,
&len, 3000);

if (err || (len != size)) {
- ath3k_log_failed_loading(err, len, size);
+ ath3k_log_failed_loading(err, len, size, count);
goto error;
}

@@ -356,7 +358,7 @@ static int ath3k_load_fwfile(struct usb_device *udev,
err = usb_bulk_msg(udev, pipe, send_buf, size,
&len, 3000);
if (err || (len != size)) {
- ath3k_log_failed_loading(err, len, size);
+ ath3k_log_failed_loading(err, len, size, count);
kfree(send_buf);
return err;
}
--
2.14.4



2018-09-28 17:28:57

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] ath3k: add more information to error message

Hi Luiz,

> When there is an error in either ath3k_load_firmware() or
> ath3k_load_fwfile(), the inlined function ath3k_log_failed_loading() is
> called receiving the error returned and both the block size requested to
> load and the size actually loaded. These values are printed in an error
> message using the macro BT_ERR.
>
> This patch changes that function in order to print the variable "count"
> as well, to show more information when a failing firmware loading
> operation happens. The calls to the older function were changed to the
> new one.
>
> This event is being monitored in a laptop with an adapter which
> identifies itself as 0cf3:0036, where sometimes there are errors in the
> firmware loading process.
>
> Signed-off-by: Luiz Carlos Ramos <[email protected]>
> ---
> drivers/bluetooth/ath3k.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)

patch has been applied (with minor style modifications) to bluetooth-next tree.

Regards

Marcel