From: Larry Finger > Sent: 20 August 2021 22:45 > > On 8/19/21 3:17 AM, Aakash Hemadri wrote: > > Fix sparse warning: > >> rtw_br_ext.c:836:54: warning: cast to restricted __be32 > > > > Unnecessary double cast, remove them. > > > > Signed-off-by: Aakash Hemadri <aakashhemadri123@xxxxxxxxx> > > --- > > drivers/staging/r8188eu/core/rtw_br_ext.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/staging/r8188eu/core/rtw_br_ext.c b/drivers/staging/r8188eu/core/rtw_br_ext.c > > index 404fa8904e47..6a0462ce6230 100644 > > --- a/drivers/staging/r8188eu/core/rtw_br_ext.c > > +++ b/drivers/staging/r8188eu/core/rtw_br_ext.c > > @@ -671,7 +671,7 @@ void dhcp_flag_bcast(struct adapter *priv, struct sk_buff *skb) > > (udph->dest == __constant_htons(SERVER_PORT))) { /* DHCP request */ > > struct dhcpMessage *dhcph = > > (struct dhcpMessage *)((size_t)udph + sizeof(struct udphdr)); > > - u32 cookie = be32_to_cpu((__be32)dhcph->cookie); > > + u32 cookie = dhcph->cookie; > > > > if (cookie == DHCP_MAGIC) { /* match magic word */ > > if (!(dhcph->flags & htons(BROADCAST_FLAG))) { > > > > This patch is wrong. All the documentation I could find tells me that the > multi-byte entries in dhcph are big-endian, thus the new line should read: > > u32 cookie = be32_to_cpu(dhcph->cookie); Modulo anything that really means it should get_unaligned_be32(). David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)