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 e7c6e862580dcf64df32b4f499f7ae1c42c67609..051d961d4e289f56b1b9560ac5c41161f891fe95 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;