Skip to contentSkip to conversation

rt2x00: Fix compile warning

PATCH In review Ivo van Doorn 2 participants 4 messages Aug 2, 2008 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 rt2x00: Fix compile warning

rt2x00usb_vendor_request_large_buff is write-only, so it is safe to make the argument a const.

Fixes compile warning:
drivers/net/wireless/rt2x00/rt73usb.c: In function 'rt73usb_load_firmware':
drivers/net/wireless/rt2x00/rt73usb.c:916: warning: passing argument 5 of 'rt2x00usb_vendor_request_large_buff' discards qualifiers from pointer target typ

---
 drivers/net/wireless/rt2x00/rt2x00usb.c |    4 ++--
 drivers/net/wireless/rt2x00/rt2x00usb.h |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
drivers/net/wireless/rt2x00/rt2x00usb.c +2 -2
index 933e6cc..8d76bb2 100644
@@ -124,7 +124,7 @@ EXPORT_SYMBOL_GPL(rt2x00usb_vendor_request_buff);
 
 int rt2x00usb_vendor_request_large_buff(struct rt2x00_dev *rt2x00dev,
 					const u8 request, const u8 requesttype,
-					const u16 offset, void *buffer,
+					const u16 offset, const void *buffer,
 					const u16 buffer_length,
 					const int timeout)
 {
@@ -134,7 +134,7 @@ int rt2x00usb_vendor_request_large_buff(struct rt2x00_dev *rt2x00dev,
 
 	mutex_lock(&rt2x00dev->usb_cache_mutex);
 
-	tb  = buffer;
+	tb  = (char *)buffer;
 	off = offset;
 	len = buffer_length;
 	while (len && !status) {
drivers/net/wireless/rt2x00/rt2x00usb.h +1 -1
index ee3875f..3b4a674 100644
@@ -185,7 +185,7 @@ int rt2x00usb_vendor_req_buff_lock(struct rt2x00_dev *rt2x00dev,
  */
 int rt2x00usb_vendor_request_large_buff(struct rt2x00_dev *rt2x00dev,
 					const u8 request, const u8 requesttype,
-					const u16 offset, void *buffer,
+					const u16 offset, const void *buffer,
 					const u16 buffer_length,
 					const int timeout);
 
Signature · 1 line
1.5.6.1
#1 lore raw

From: Ivo van Doorn <[email protected]>
Date: Sat, 2 Aug 2008 07:49:08 +0200

Quoted 8 lines

rt2x00usb_vendor_request_large_buff is write-only, so it is safe to make the argument a const.

Fixes compile warning:
drivers/net/wireless/rt2x00/rt73usb.c: In function 'rt73usb_load_firmware':
drivers/net/wireless/rt2x00/rt73usb.c:916: warning: passing argument 5 of 'rt2x00usb_vendor_request_large_buff' discards qualifiers from pointer target typ

Are you sure?

This buffer pointer, via 'tb', eventually gets passed down to rt2x00usb_vendor_req_buff_lock which conditionally copies into the buffer.

#2 lore raw
Quoted 10 lines · David Miller

From: Ivo van Doorn <[email protected]>
Date: Sat, 2 Aug 2008 07:49:08 +0200

Quoted 7 lines

rt2x00usb_vendor_request_large_buff is write-only, so it is safe to make the argument a const.

Fixes compile warning:
drivers/net/wireless/rt2x00/rt73usb.c: In function 'rt73usb_load_firmware':
drivers/net/wireless/rt2x00/rt73usb.c:916: warning: passing argument 5 of 'rt2x00usb_vendor_request_large_buff' discards qualifiers from pointer target typ

Quoted 7 lines
Quoted 1 line

Are you sure?

This buffer pointer, via 'tb', eventually gets passed down to rt2x00usb_vendor_req_buff_lock which conditionally copies into the buffer.

Yes but rt2x00usb_vendor_req_buff_lock() can't use the const buffer since it calls:

	memcpy(buffer, rt2x00dev->csr.cache, buffer_length);

and rt2x00usb_vendor_req_buff_lock() is valid for read commands.

Only rt2x00usb_vendor_request_large_buff() is write only, so that sounds like the most sane place to convert the const pointer to the normal pointer.

Ivo

#3 lore raw

From: Ivo van Doorn <[email protected]>
Date: Sat, 2 Aug 2008 08:11:35 +0200

Quoted 7 lines

Yes but rt2x00usb_vendor_req_buff_lock() can't use the const buffer since it calls:

	memcpy(buffer, rt2x00dev->csr.cache, buffer_length);

and rt2x00usb_vendor_req_buff_lock() is valid for read commands.

Only rt2x00usb_vendor_request_large_buff() is write only, so that sounds like the most sane place to convert the const pointer to the normal pointer.

Ok, I see. Patch applied, thanks!