diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/prism54/isl_ioctl.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/prism54/islpci_dev.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/prism54/islpci_dev.h | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/wireless/prism54/isl_ioctl.c b/drivers/net/wireless/prism54/isl_ioctl.c index df1594ea942c..3fb6a7b54038 100644 --- a/drivers/net/wireless/prism54/isl_ioctl.c +++ b/drivers/net/wireless/prism54/isl_ioctl.c | |||
@@ -165,7 +165,7 @@ prism54_update_stats(struct work_struct *work) | |||
165 | struct obj_bss bss, *bss2; | 165 | struct obj_bss bss, *bss2; |
166 | union oid_res_t r; | 166 | union oid_res_t r; |
167 | 167 | ||
168 | down(&priv->stats_sem); | 168 | mutex_lock(&priv->stats_lock); |
169 | 169 | ||
170 | /* Noise floor. | 170 | /* Noise floor. |
171 | * I'm not sure if the unit is dBm. | 171 | * I'm not sure if the unit is dBm. |
@@ -207,7 +207,7 @@ prism54_update_stats(struct work_struct *work) | |||
207 | mgt_get_request(priv, DOT11_OID_MPDUTXFAILED, 0, NULL, &r); | 207 | mgt_get_request(priv, DOT11_OID_MPDUTXFAILED, 0, NULL, &r); |
208 | priv->local_iwstatistics.discard.retries = r.u; | 208 | priv->local_iwstatistics.discard.retries = r.u; |
209 | 209 | ||
210 | up(&priv->stats_sem); | 210 | mutex_unlock(&priv->stats_lock); |
211 | 211 | ||
212 | return; | 212 | return; |
213 | } | 213 | } |
@@ -218,12 +218,12 @@ prism54_get_wireless_stats(struct net_device *ndev) | |||
218 | islpci_private *priv = netdev_priv(ndev); | 218 | islpci_private *priv = netdev_priv(ndev); |
219 | 219 | ||
220 | /* If the stats are being updated return old data */ | 220 | /* If the stats are being updated return old data */ |
221 | if (down_trylock(&priv->stats_sem) == 0) { | 221 | if (mutex_trylock(&priv->stats_lock) == 0) { |
222 | memcpy(&priv->iwstatistics, &priv->local_iwstatistics, | 222 | memcpy(&priv->iwstatistics, &priv->local_iwstatistics, |
223 | sizeof (struct iw_statistics)); | 223 | sizeof (struct iw_statistics)); |
224 | /* They won't be marked updated for the next time */ | 224 | /* They won't be marked updated for the next time */ |
225 | priv->local_iwstatistics.qual.updated = 0; | 225 | priv->local_iwstatistics.qual.updated = 0; |
226 | up(&priv->stats_sem); | 226 | mutex_unlock(&priv->stats_lock); |
227 | } else | 227 | } else |
228 | priv->iwstatistics.qual.updated = 0; | 228 | priv->iwstatistics.qual.updated = 0; |
229 | 229 | ||
diff --git a/drivers/net/wireless/prism54/islpci_dev.c b/drivers/net/wireless/prism54/islpci_dev.c index dbb538ccb4ec..eb7c1c6bcd8a 100644 --- a/drivers/net/wireless/prism54/islpci_dev.c +++ b/drivers/net/wireless/prism54/islpci_dev.c | |||
@@ -864,7 +864,7 @@ islpci_setup(struct pci_dev *pdev) | |||
864 | mutex_init(&priv->mgmt_lock); | 864 | mutex_init(&priv->mgmt_lock); |
865 | priv->mgmt_received = NULL; | 865 | priv->mgmt_received = NULL; |
866 | init_waitqueue_head(&priv->mgmt_wqueue); | 866 | init_waitqueue_head(&priv->mgmt_wqueue); |
867 | sema_init(&priv->stats_sem, 1); | 867 | mutex_init(&priv->stats_lock); |
868 | spin_lock_init(&priv->slock); | 868 | spin_lock_init(&priv->slock); |
869 | 869 | ||
870 | /* init state machine with off#1 state */ | 870 | /* init state machine with off#1 state */ |
diff --git a/drivers/net/wireless/prism54/islpci_dev.h b/drivers/net/wireless/prism54/islpci_dev.h index b03a2ab0009b..85ddf89967af 100644 --- a/drivers/net/wireless/prism54/islpci_dev.h +++ b/drivers/net/wireless/prism54/islpci_dev.h | |||
@@ -88,7 +88,7 @@ typedef struct { | |||
88 | 88 | ||
89 | /* Take care of the wireless stats */ | 89 | /* Take care of the wireless stats */ |
90 | struct work_struct stats_work; | 90 | struct work_struct stats_work; |
91 | struct semaphore stats_sem; | 91 | struct mutex stats_lock; |
92 | /* remember when we last updated the stats */ | 92 | /* remember when we last updated the stats */ |
93 | unsigned long stats_timestamp; | 93 | unsigned long stats_timestamp; |
94 | /* The first is accessed under semaphore locking. | 94 | /* The first is accessed under semaphore locking. |