diff options
Diffstat (limited to 'drivers/net/wireless/iwmc3200wifi/main.c')
-rw-r--r-- | drivers/net/wireless/iwmc3200wifi/main.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/main.c b/drivers/net/wireless/iwmc3200wifi/main.c index 7f34d6dd3c41..3a3510a6223a 100644 --- a/drivers/net/wireless/iwmc3200wifi/main.c +++ b/drivers/net/wireless/iwmc3200wifi/main.c | |||
@@ -276,8 +276,11 @@ int iwm_priv_init(struct iwm_priv *iwm) | |||
276 | 276 | ||
277 | skb_queue_head_init(&iwm->rx_list); | 277 | skb_queue_head_init(&iwm->rx_list); |
278 | INIT_LIST_HEAD(&iwm->rx_tickets); | 278 | INIT_LIST_HEAD(&iwm->rx_tickets); |
279 | for (i = 0; i < IWM_RX_ID_HASH; i++) | 279 | spin_lock_init(&iwm->ticket_lock); |
280 | for (i = 0; i < IWM_RX_ID_HASH; i++) { | ||
280 | INIT_LIST_HEAD(&iwm->rx_packets[i]); | 281 | INIT_LIST_HEAD(&iwm->rx_packets[i]); |
282 | spin_lock_init(&iwm->packet_lock[i]); | ||
283 | } | ||
281 | 284 | ||
282 | INIT_WORK(&iwm->rx_worker, iwm_rx_worker); | 285 | INIT_WORK(&iwm->rx_worker, iwm_rx_worker); |
283 | 286 | ||
@@ -423,9 +426,9 @@ int iwm_notif_send(struct iwm_priv *iwm, struct iwm_wifi_cmd *cmd, | |||
423 | static struct iwm_notif *iwm_notif_find(struct iwm_priv *iwm, u32 cmd, | 426 | static struct iwm_notif *iwm_notif_find(struct iwm_priv *iwm, u32 cmd, |
424 | u8 source) | 427 | u8 source) |
425 | { | 428 | { |
426 | struct iwm_notif *notif, *next; | 429 | struct iwm_notif *notif; |
427 | 430 | ||
428 | list_for_each_entry_safe(notif, next, &iwm->pending_notif, pending) { | 431 | list_for_each_entry(notif, &iwm->pending_notif, pending) { |
429 | if ((notif->cmd_id == cmd) && (notif->src == source)) { | 432 | if ((notif->cmd_id == cmd) && (notif->src == source)) { |
430 | list_del(¬if->pending); | 433 | list_del(¬if->pending); |
431 | return notif; | 434 | return notif; |