This patch fixes below Sparse warnings -
drivers/bluetooth/ath3k.c:370:17: warning: cast to restricted __le32
drivers/bluetooth/ath3k.c:432:17: warning: cast to restricted __le32
Signed-off-by: Surendra Patil <[email protected]>
---
drivers/bluetooth/ath3k.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
index be571fe..badacbc 100644
--- a/drivers/bluetooth/ath3k.c
+++ b/drivers/bluetooth/ath3k.c
@@ -367,7 +367,7 @@ static int ath3k_load_patch(struct usb_device *udev)
}
snprintf(filename, ATH3K_NAME_LEN, "ar3k/AthrBT_0x%08x.dfu",
- le32_to_cpu(fw_version.rom_version));
+ fw_version.rom_version);
ret = request_firmware(&firmware, filename, &udev->dev);
if (ret < 0) {
@@ -429,7 +429,7 @@ static int ath3k_load_syscfg(struct usb_device *udev)
}
snprintf(filename, ATH3K_NAME_LEN, "ar3k/ramps_0x%08x_%d%s",
- le32_to_cpu(fw_version.rom_version), clk_value, ".dfu");
+ fw_version.rom_version, clk_value, ".dfu");
ret = request_firmware(&firmware, filename, &udev->dev);
if (ret < 0) {
--
1.8.3.2
thanks for reviews.
will work on it .
On Tue, Mar 25, 2014 at 1:38 AM, Johan Hedberg <[email protected]>wrote:
> Hi,
>
> On Tue, Mar 25, 2014, Surendra Patil wrote:
> > This patch fixes below Sparse warnings -
> > drivers/bluetooth/ath3k.c:370:17: warning: cast to restricted __le32
> > drivers/bluetooth/ath3k.c:432:17: warning: cast to restricted __le32
> >
> > Signed-off-by: Surendra Patil <[email protected]>
> > ---
> > drivers/bluetooth/ath3k.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
> > index be571fe..badacbc 100644
> > --- a/drivers/bluetooth/ath3k.c
> > +++ b/drivers/bluetooth/ath3k.c
> > @@ -367,7 +367,7 @@ static int ath3k_load_patch(struct usb_device *udev)
> > }
> >
> > snprintf(filename, ATH3K_NAME_LEN, "ar3k/AthrBT_0x%08x.dfu",
> > - le32_to_cpu(fw_version.rom_version));
> > + fw_version.rom_version);
> >
> > ret = request_firmware(&firmware, filename, &udev->dev);
> > if (ret < 0) {
> > @@ -429,7 +429,7 @@ static int ath3k_load_syscfg(struct usb_device *udev)
> > }
> >
> > snprintf(filename, ATH3K_NAME_LEN, "ar3k/ramps_0x%08x_%d%s",
> > - le32_to_cpu(fw_version.rom_version), clk_value, ".dfu");
> > + fw_version.rom_version, clk_value, ".dfu");
> >
> > ret = request_firmware(&firmware, filename, &udev->dev);
> > if (ret < 0) {
>
> Are you sure this doesn't introduce a bug on big endian systems? We just
> recently applied commit b9e2535acad8f52a17e2aa843d45a6b756b59592 which
> adds this le32_to_cpu conversion. Probably the correct fix is to update
> this fw_version struct definition to use __le32 for any member that's
> expected to be in little endian format?
>
> Johan
>
--
Best,
Surendra Patil
Hi,
On Tue, Mar 25, 2014, Surendra Patil wrote:
> This patch fixes below Sparse warnings -
> drivers/bluetooth/ath3k.c:370:17: warning: cast to restricted __le32
> drivers/bluetooth/ath3k.c:432:17: warning: cast to restricted __le32
>
> Signed-off-by: Surendra Patil <[email protected]>
> ---
> drivers/bluetooth/ath3k.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
> index be571fe..badacbc 100644
> --- a/drivers/bluetooth/ath3k.c
> +++ b/drivers/bluetooth/ath3k.c
> @@ -367,7 +367,7 @@ static int ath3k_load_patch(struct usb_device *udev)
> }
>
> snprintf(filename, ATH3K_NAME_LEN, "ar3k/AthrBT_0x%08x.dfu",
> - le32_to_cpu(fw_version.rom_version));
> + fw_version.rom_version);
>
> ret = request_firmware(&firmware, filename, &udev->dev);
> if (ret < 0) {
> @@ -429,7 +429,7 @@ static int ath3k_load_syscfg(struct usb_device *udev)
> }
>
> snprintf(filename, ATH3K_NAME_LEN, "ar3k/ramps_0x%08x_%d%s",
> - le32_to_cpu(fw_version.rom_version), clk_value, ".dfu");
> + fw_version.rom_version, clk_value, ".dfu");
>
> ret = request_firmware(&firmware, filename, &udev->dev);
> if (ret < 0) {
Are you sure this doesn't introduce a bug on big endian systems? We just
recently applied commit b9e2535acad8f52a17e2aa843d45a6b756b59592 which
adds this le32_to_cpu conversion. Probably the correct fix is to update
this fw_version struct definition to use __le32 for any member that's
expected to be in little endian format?
Johan
On Tue, 2014-03-25 at 01:25 -0700, Surendra Patil wrote:
> This patch fixes below Sparse warnings -
> drivers/bluetooth/ath3k.c:370:17: warning: cast to restricted __le32
> drivers/bluetooth/ath3k.c:432:17: warning: cast to restricted __le32
You are changing output here.
I suspect rom_version should be marked __le32 instead
of unsigned int in "struct ath3k_version" instead.
> Signed-off-by: Surendra Patil <[email protected]>
> ---
> drivers/bluetooth/ath3k.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
> index be571fe..badacbc 100644
> --- a/drivers/bluetooth/ath3k.c
> +++ b/drivers/bluetooth/ath3k.c
> @@ -367,7 +367,7 @@ static int ath3k_load_patch(struct usb_device *udev)
> }
>
> snprintf(filename, ATH3K_NAME_LEN, "ar3k/AthrBT_0x%08x.dfu",
> - le32_to_cpu(fw_version.rom_version));
> + fw_version.rom_version);
>
> ret = request_firmware(&firmware, filename, &udev->dev);
> if (ret < 0) {
> @@ -429,7 +429,7 @@ static int ath3k_load_syscfg(struct usb_device *udev)
> }
>
> snprintf(filename, ATH3K_NAME_LEN, "ar3k/ramps_0x%08x_%d%s",
> - le32_to_cpu(fw_version.rom_version), clk_value, ".dfu");
> + fw_version.rom_version, clk_value, ".dfu");
>
> ret = request_firmware(&firmware, filename, &udev->dev);
> if (ret < 0) {