cfg80211: fix wext-compat for getting retry value
authorUjjal Roy <royujjal@gmail.com>
Mon, 6 Jan 2014 16:26:11 +0000 (21:56 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 6 Jan 2014 19:00:12 +0000 (20:00 +0100)
While getting the retry limit, wext-compat returns the value
without updating the flag for retry->flags is 0. Also in this
case, it updates long retry flag when short and long retry
value are unequal.

So, iwconfig never showing "Retry short limit" and showing
"Retry long limit" when both values are unequal.

Updated the flags and corrected the condition properly.

Signed-off-by: Ujjal Roy <royujjal@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/wext-compat.c

index e7c6e86..051d961 100644 (file)
@@ -412,9 +412,9 @@ int cfg80211_wext_giwretry(struct net_device *dev,
                 * First return short value, iwconfig will ask long value
                 * later if needed
                 */
-               retry->flags |= IW_RETRY_LIMIT;
+               retry->flags |= IW_RETRY_LIMIT | IW_RETRY_SHORT;
                retry->value = wdev->wiphy->retry_short;
-               if (wdev->wiphy->retry_long != wdev->wiphy->retry_short)
+               if (wdev->wiphy->retry_long == wdev->wiphy->retry_short)
                        retry->flags |= IW_RETRY_LONG;
 
                return 0;