cfg80211: change function signature of cfg80211_get_p2p_attr()
authorArend van Spriel <arend@broadcom.com>
Sun, 25 Nov 2012 18:13:28 +0000 (19:13 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 26 Nov 2012 10:28:55 +0000 (11:28 +0100)
The function cfg80211_get_p2p_attr() can fail and returns
a negative error code. However, the return type is unsigned
int. The largest positive number is determined by desired_len
variable in the function, which is u16. So changing the return
type to int to allow easy error checking. Also change the type
for the attribute to enum for improved type checking.

Signed-off-by: Arend van Spriel <arend@broadcom.com>
[fix indentation, don't use u8 attr variable]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/net/cfg80211.h
net/wireless/util.c

index 8a1aec54e68f31638ebed7cd69a394f8b3324aed..c2c185febb87a8c1bdbef562cb2e21a4191e8316 100644 (file)
@@ -3652,8 +3652,9 @@ void cfg80211_unregister_wdev(struct wireless_dev *wdev);
  * the data is malformed or the attribute can't be found (respectively),
  * or the length of the found attribute (which can be zero).
  */
-unsigned int cfg80211_get_p2p_attr(const u8 *ies, unsigned int len,
-                                  u8 attr, u8 *buf, unsigned int bufsize);
+int cfg80211_get_p2p_attr(const u8 *ies, unsigned int len,
+                         enum ieee80211_p2p_attr_id attr,
+                         u8 *buf, unsigned int bufsize);
 
 /* Logging, debugging and troubleshooting/diagnostic helpers. */
 
index b99f01cda1f6913ba7a5d9dc8d75a3a6e97c7b95..db61fe8a6b6d5d05e13d51fc02f157bae2ff4e57 100644 (file)
@@ -980,8 +980,9 @@ u32 cfg80211_calculate_bitrate(struct rate_info *rate)
 }
 EXPORT_SYMBOL(cfg80211_calculate_bitrate);
 
-unsigned int cfg80211_get_p2p_attr(const u8 *ies, unsigned int len,
-                                  u8 attr, u8 *buf, unsigned int bufsize)
+int cfg80211_get_p2p_attr(const u8 *ies, unsigned int len,
+                         enum ieee80211_p2p_attr_id attr,
+                         u8 *buf, unsigned int bufsize)
 {
        u8 *out = buf;
        u16 attr_remaining = 0;