@@ -1281,9 +1281,13 @@ static int ignore_request(struct wiphy *wiphy,
* This would happen if you unplug and plug your card
* back in or if you add a new device for which the previously
* loaded card also agrees on the regulatory domain.
+ * This can also happen if you have two cards both with the
+ * same regulatory domain and CRDA hasn't yet replied back
+ * with the last request's regulatory domain.
*/
if (last_request->initiator == NL80211_REGDOM_SET_BY_DRIVER &&
- !regdom_changes(pending_request->alpha2))
+ (!regdom_changes(pending_request->alpha2) ||
+ alpha2_equal(last_request->alpha2, pending_request->alpha2)))
return -EALREADY;
return REG_INTERSECT;