* [RFC] staging: r8188eu: Fix sparse warnings in core/rtw_br_ext.c
@ 2013-12-22 1:31 Larry Finger
2013-12-22 7:37 ` Greg KH
0 siblings, 1 reply; 2+ messages in thread
From: Larry Finger @ 2013-12-22 1:31 UTC (permalink / raw)
To: gregkh; +Cc: devel, netdev, Larry Finger
Please tell me if the following fixes are appropriate. In particular, I am uncertain of
the __force attributes.
Thanks,
Larry
Sparse lists the following:
CHECK drivers/staging/rtl8188eu/core/rtw_br_ext.c
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1156:63: warning: restricted __sum16 degrades to integer
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1160:69: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1160:69: expected restricted __sum16 [usertype] check
drivers/staging/rtl8188eu/core/rtw_br_ext.c:1160:69: got int
---
drivers/staging/rtl8188eu/core/rtw_br_ext.c | 47 +++++++++++++++--------------
1 file changed, 24 insertions(+), 23 deletions(-)
diff --git a/drivers/staging/rtl8188eu/core/rtw_br_ext.c b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
index 5425bc5..54a706f 100644
--- a/drivers/staging/rtl8188eu/core/rtw_br_ext.c
+++ b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
@@ -1153,11 +1154,11 @@ void dhcp_flag_bcast(struct adapter *priv, struct sk_buff *skb)
/* or BROADCAST flag */
dhcph->flags |= htons(BROADCAST_FLAG);
/* recalculate checksum */
- sum = ~(udph->check) & 0xffff;
+ sum = (__force int)(~(udph->check)) & 0xffff;
sum += be16_to_cpu(dhcph->flags);
while (sum >> 16)
sum = (sum & 0xffff) + (sum >> 16);
- udph->check = ~sum;
+ udph->check = (__force __sum16)(~sum);
}
}
}
--
1.8.4
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [RFC] staging: r8188eu: Fix sparse warnings in core/rtw_br_ext.c
2013-12-22 1:31 [RFC] staging: r8188eu: Fix sparse warnings in core/rtw_br_ext.c Larry Finger
@ 2013-12-22 7:37 ` Greg KH
0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2013-12-22 7:37 UTC (permalink / raw)
To: Larry Finger; +Cc: devel, netdev
On Sat, Dec 21, 2013 at 07:31:08PM -0600, Larry Finger wrote:
> Please tell me if the following fixes are appropriate. In particular, I am uncertain of
> the __force attributes.
>
> Thanks,
>
> Larry
>
>
> Sparse lists the following:
>
> CHECK drivers/staging/rtl8188eu/core/rtw_br_ext.c
> drivers/staging/rtl8188eu/core/rtw_br_ext.c:1156:63: warning: restricted __sum16 degrades to integer
> drivers/staging/rtl8188eu/core/rtw_br_ext.c:1160:69: warning: incorrect type in assignment (different base types)
> drivers/staging/rtl8188eu/core/rtw_br_ext.c:1160:69: expected restricted __sum16 [usertype] check
> drivers/staging/rtl8188eu/core/rtw_br_ext.c:1160:69: got int
>
> ---
> drivers/staging/rtl8188eu/core/rtw_br_ext.c | 47 +++++++++++++++--------------
> 1 file changed, 24 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/staging/rtl8188eu/core/rtw_br_ext.c b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
> index 5425bc5..54a706f 100644
> --- a/drivers/staging/rtl8188eu/core/rtw_br_ext.c
> +++ b/drivers/staging/rtl8188eu/core/rtw_br_ext.c
>
> @@ -1153,11 +1154,11 @@ void dhcp_flag_bcast(struct adapter *priv, struct sk_buff *skb)
> /* or BROADCAST flag */
> dhcph->flags |= htons(BROADCAST_FLAG);
> /* recalculate checksum */
> - sum = ~(udph->check) & 0xffff;
> + sum = (__force int)(~(udph->check)) & 0xffff;
> sum += be16_to_cpu(dhcph->flags);
> while (sum >> 16)
> sum = (sum & 0xffff) + (sum >> 16);
> - udph->check = ~sum;
> + udph->check = (__force __sum16)(~sum);
I thought __force was only "needed" when trying to move between user and
kernel pointer types, I didn't think it was needed for stuff like this.
But I really don't know what __sum16 is, so I can't say for sure, sorry.
greg k-h
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-12-22 7:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-22 1:31 [RFC] staging: r8188eu: Fix sparse warnings in core/rtw_br_ext.c Larry Finger
2013-12-22 7:37 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).