diff options
Diffstat (limited to 'net/wireless/nl80211.c')
| -rw-r--r-- | net/wireless/nl80211.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index fb75f265b39..b7fefffd2d0 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -199,12 +199,14 @@ static int nl80211_dump_wiphy(struct sk_buff *skb, struct netlink_callback *cb)  	mutex_lock(&cfg80211_drv_mutex);  	list_for_each_entry(dev, &cfg80211_drv_list, list) { -		if (++idx < start) +		if (++idx <= start)  			continue;  		if (nl80211_send_wiphy(skb, NETLINK_CB(cb->skb).pid,  				       cb->nlh->nlmsg_seq, NLM_F_MULTI, -				       dev) < 0) +				       dev) < 0) { +			idx--;  			break; +		}  	}  	mutex_unlock(&cfg80211_drv_mutex);  |