On Mon, 2009-07-20 at 16:12 +0800, Zhu Yi wrote: > In cfg80211_upload_connect_keys(), we call add_key, set_default_key > and set_default_mgmt_key (if applicable) one by one. If one of these > operations fails, we should stop calling the following functions. > Because if the key is not added successfully, we should not set it as > default key anyway. Should we even disconnect again in that case? johannes > Signed-off-by: Zhu Yi <yi.zhu@xxxxxxxxx> > --- > net/wireless/util.c | 8 ++++++-- > 1 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/net/wireless/util.c b/net/wireless/util.c > index 4bab380..ba387d8 100644 > --- a/net/wireless/util.c > +++ b/net/wireless/util.c > @@ -546,13 +546,17 @@ void cfg80211_upload_connect_keys(struct wireless_dev *wdev) > if (!wdev->connect_keys->params[i].cipher) > continue; > if (rdev->ops->add_key(wdev->wiphy, dev, i, NULL, > - &wdev->connect_keys->params[i])) > + &wdev->connect_keys->params[i])) { > printk(KERN_ERR "%s: failed to set key %d\n", > dev->name, i); > + continue; > + } > if (wdev->connect_keys->def == i) > - if (rdev->ops->set_default_key(wdev->wiphy, dev, i)) > + if (rdev->ops->set_default_key(wdev->wiphy, dev, i)) { > printk(KERN_ERR "%s: failed to set defkey %d\n", > dev->name, i); > + continue; > + } > if (wdev->connect_keys->defmgmt == i) > if (rdev->ops->set_default_mgmt_key(wdev->wiphy, dev, i)) > printk(KERN_ERR "%s: failed to set mgtdef %d\n",
Attachment:
signature.asc
Description: This is a digitally signed message part