d80211: fix default key symlink creation/cleanup
Subsystems (2)
PATCH 1/1 d80211: fix default key symlink creation/cleanup
Hi Jiri,
here is the revised version of 'don't symlink empty default keys'. Run-tested and diff'ed against your repos.
Jan
----------
This gets rid of annoying
wlan0: cannot create symlink to default key
in my syslog with latest rt2x00. The patch takes care to always delete an existing symlink to the default key before trying to register a new one. Moreover, it avoids to call ieee80211_key_sysfs_add_default for a NULL key.
Signed-off-by Jan Kiszka <[email protected]>
--- net/d80211/ieee80211_ioctl.c | 9 ++++----- net/d80211/ieee80211_sysfs_sta.c | 3 ++- 2 files changed, 6 insertions(+), 6 deletions(-)
net/d80211/ieee80211_ioctl.c +4 -5
@@ -627,7 +627,7 @@ static int ieee80211_set_encryption(stru }kfree (keyconf); -if (key && sdata->default_key == key) { +if (set_tx_key || sdata->default_key == key) {ieee80211_key_sysfs_remove_default (sdata); sdata->default_key =NULL ; }
@@ -671,7 +671,7 @@ static int ieee80211_set_encryption(stru } } -if (old_key && sdata->default_key == old_key) { +if (set_tx_key || sdata->default_key == old_key) {ieee80211_key_sysfs_remove_default (sdata); sdata->default_key =NULL ; }
@@ -698,7 +698,7 @@ static int ieee80211_set_encryption(struif (set_tx_key || (!sta && !sdata->default_key && key)) { sdata->default_key = key; -if (ieee80211_key_sysfs_add_default (sdata)) +if (key &&ieee80211_key_sysfs_add_default (sdata))printk (KERN_WARNING "%s: cannot create symlink to " "default key\n" , dev->name); if (local->ops->set_key_idx &&
@@ -2892,8 +2892,7 @@ static int ieee80211_ioctl_siwencode(strelse if (erq->length ==0 ) {/* No key data - just set the default TX key index */ if (sdata->default_key != sdata->keys[idx]) { -if (sdata->default_key) -ieee80211_key_sysfs_remove_default (sdata); +ieee80211_key_sysfs_remove_default (sdata); sdata->default_key = sdata->keys[idx];if (sdata->default_key)ieee80211_key_sysfs_add_default (sdata);
net/d80211/ieee80211_sysfs_sta.c +2 -1
@@ -433,5 +433,6 @@ int ieee80211_key_sysfs_add_default(struvoid ieee80211_key_sysfs_remove_default (struct ieee80211_sub_if_data *sdata) { -sysfs_remove_link (&sdata->key_kset.kobj,"default" ); +if (sdata->default_key) +sysfs_remove_link (&sdata->key_kset.kobj,"default" ); }
Jiri Benc
AppliedQuoted 2 lines · Jan Kiszka
here is the revised version of 'don't symlink empty default keys'. Run-tested and diff'ed against your repos.
Applied, thanks for the patch and sorry for the delay.
Jiri
Signature · 2 lines
Jiri Benc SUSE Labs