On 9-1-2017 18:53, Jouni Malinen wrote: > From: Purushottam Kushwaha <pkushwah@xxxxxxxxxxxxxxxx> > > This enhances the connect timeout API to also carry the reason for the > timeout. These reason codes for the connect time out are represented by > enum nl80211_timeout_reason and are passed to user space through a new > attribute NL80211_ATTR_TIMEOUT_REASON (u32). > > Signed-off-by: Purushottam Kushwaha <pkushwah@xxxxxxxxxxxxxxxx> > Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> > --- [...] > diff --git a/net/wireless/sme.c b/net/wireless/sme.c > index 4669391..472225d 100644 > --- a/net/wireless/sme.c > +++ b/net/wireless/sme.c > @@ -38,6 +38,7 @@ struct cfg80211_conn { > CFG80211_CONN_ASSOCIATE_NEXT, > CFG80211_CONN_ASSOCIATING, > CFG80211_CONN_ASSOC_FAILED, > + CFG80211_CONN_ASSOC_FAILED_TIMEOUT, Was kinda expecting AUTH_FAILED_TIMEOUT.... > CFG80211_CONN_DEAUTH, > CFG80211_CONN_ABANDON, > CFG80211_CONN_CONNECTED, > @@ -140,7 +141,8 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev) > return err; > } > > -static int cfg80211_conn_do_work(struct wireless_dev *wdev) > +static int cfg80211_conn_do_work(struct wireless_dev *wdev, > + enum nl80211_timeout_reason *treason) > { > struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); > struct cfg80211_connect_params *params; > @@ -172,6 +174,7 @@ static int cfg80211_conn_do_work(struct wireless_dev *wdev) > params->key, params->key_len, > params->key_idx, NULL, 0); > case CFG80211_CONN_AUTH_FAILED: > + *treason = NL80211_TIMEOUT_AUTH; ... but it seems AUTH failure always is a timeout? Regards, Arend