[OPW,kernel,v3] Staging: btmtk_usb: Fix Sparse Warning of incorrect type in assignment
diff mbox

Message ID 1381852571-29676-1-git-send-email-rashika.kheria@gmail.com
State Changes Requested
Headers show

Commit Message

Rashika Oct. 15, 2013, 3:56 p.m. UTC
This patch fixes the following Sparse Warnings in btmtk_usb.c:

drivers/staging/btmtk_usb/btmtk_usb.c:676:39: warning: incorrect type in assignment (different base types)
drivers/staging/btmtk_usb/btmtk_usb.c:676:39:    expected unsigned int [unsigned] [usertype] packet_header
drivers/staging/btmtk_usb/btmtk_usb.c:676:39:    got restricted __le32 [usertype] <noident>

drivers/staging/btmtk_usb/btmtk_usb.c:736:31: warning: incorrect type in assignment (different base types)
drivers/staging/btmtk_usb/btmtk_usb.c:736:31:    expected unsigned int [unsigned] [addressable] [usertype] packet_header
drivers/staging/btmtk_usb/btmtk_usb.c:736:31:    got restricted __le32 [usertype] <noident>

Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
---

This revision fixes the following issues of the previous revision-
Incorrect Variable Name

 drivers/staging/btmtk_usb/btmtk_usb.c |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

Comments

Greg KH Oct. 15, 2013, 4:14 p.m. UTC | #1
On Tue, Oct 15, 2013 at 09:26:10PM +0530, Rashika Kheria wrote:
> This patch fixes the following Sparse Warnings in btmtk_usb.c:
> 
> drivers/staging/btmtk_usb/btmtk_usb.c:676:39: warning: incorrect type in assignment (different base types)
> drivers/staging/btmtk_usb/btmtk_usb.c:676:39:    expected unsigned int [unsigned] [usertype] packet_header
> drivers/staging/btmtk_usb/btmtk_usb.c:676:39:    got restricted __le32 [usertype] <noident>
> 
> drivers/staging/btmtk_usb/btmtk_usb.c:736:31: warning: incorrect type in assignment (different base types)
> drivers/staging/btmtk_usb/btmtk_usb.c:736:31:    expected unsigned int [unsigned] [addressable] [usertype] packet_header
> drivers/staging/btmtk_usb/btmtk_usb.c:736:31:    got restricted __le32 [usertype] <noident>
> 
> Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com>
> ---
> 
> This revision fixes the following issues of the previous revision-
> Incorrect Variable Name
> 
>  drivers/staging/btmtk_usb/btmtk_usb.c |   15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/staging/btmtk_usb/btmtk_usb.c b/drivers/staging/btmtk_usb/btmtk_usb.c
> index cb315b5..d1c4a03 100644
> --- a/drivers/staging/btmtk_usb/btmtk_usb.c
> +++ b/drivers/staging/btmtk_usb/btmtk_usb.c
> @@ -565,7 +565,8 @@ static int btmtk_usb_load_fw(struct btmtk_usb_data *data)
>  	struct urb *urb;
>  	void *buf;
>  	u32 cur_len = 0;
> -	u32 packet_header = 0;
> +	__le32 packet_header = 0;
> +	u32 packet_header_unsigned = le32_to_cpu(packet_header);

Unsigned?  Of course it is unsigned, you declared it as "u32".

Yeah, sorry, I'm not being all that helpful...

Hm, what about 'temp'?

Oh, wait, why are you setting the value here to 0 this way?  Is that
really needed?

thanks,

greg k-h
Rashika Oct. 15, 2013, 4:17 p.m. UTC | #2
On Tue, Oct 15, 2013 at 9:44 PM, Greg KH <greg@kroah.com> wrote:

> On Tue, Oct 15, 2013 at 09:26:10PM +0530, Rashika Kheria wrote:
> > This patch fixes the following Sparse Warnings in btmtk_usb.c:
>
> Unsigned?  Of course it is unsigned, you declared it as "u32".
>
> Yeah, sorry, I'm not being all that helpful...
>
> Hm, what about 'temp'?
>
> Oh, wait, why are you setting the value here to 0 this way?  Is that
> really needed?
>
> thanks,
>
> greg k-h
>

Ok, I will change the name to temp. I set the value to 0 because else it
will throw a warning "variable is used initialized". And I set it this way,
because I just wanted to replicate the code.



Thanks

Patch
diff mbox

diff --git a/drivers/staging/btmtk_usb/btmtk_usb.c b/drivers/staging/btmtk_usb/btmtk_usb.c
index cb315b5..d1c4a03 100644
--- a/drivers/staging/btmtk_usb/btmtk_usb.c
+++ b/drivers/staging/btmtk_usb/btmtk_usb.c
@@ -565,7 +565,8 @@  static int btmtk_usb_load_fw(struct btmtk_usb_data *data)
 	struct urb *urb;
 	void *buf;
 	u32 cur_len = 0;
-	u32 packet_header = 0;
+	__le32 packet_header = 0;
+	u32 packet_header_unsigned = le32_to_cpu(packet_header);
 	u32 value;
 	u32 ilm_len = 0, dlm_len = 0;
 	u16 fw_ver, build_ver;
@@ -677,9 +678,9 @@  loadfw_protect:
 		sent_len = min_t(s32, (ilm_len - cur_len), 14336);
 
 		if (sent_len > 0) {
-			packet_header &= ~(0xffffffff);
-			packet_header |= (sent_len << 16);
-			packet_header = cpu_to_le32(packet_header);
+			packet_header_unsigned &= ~(0xffffffff);
+			packet_header_unsigned |= (sent_len << 16);
+			packet_header = cpu_to_le32(packet_header_unsigned);
 
 			memmove(buf, &packet_header, 4);
 			memmove(buf + 4, data->firmware->data + 32 + cur_len,
@@ -737,9 +738,9 @@  loadfw_protect:
 		if (sent_len <= 0)
 			break;
 
-		packet_header &= ~(0xffffffff);
-		packet_header |= (sent_len << 16);
-		packet_header = cpu_to_le32(packet_header);
+		packet_header_unsigned &= ~(0xffffffff);
+		packet_header_unsigned |= (sent_len << 16);
+		packet_header = cpu_to_le32(packet_header_unsigned);
 
 		memmove(buf, &packet_header, 4);
 		memmove(buf + 4,