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 23856d359e12..362002735b12 100644 --- a/drivers/net/wireless/iwmc3200wifi/main.c +++ b/drivers/net/wireless/iwmc3200wifi/main.c | |||
@@ -277,8 +277,11 @@ int iwm_priv_init(struct iwm_priv *iwm) | |||
277 | 277 | ||
278 | skb_queue_head_init(&iwm->rx_list); | 278 | skb_queue_head_init(&iwm->rx_list); |
279 | INIT_LIST_HEAD(&iwm->rx_tickets); | 279 | INIT_LIST_HEAD(&iwm->rx_tickets); |
280 | for (i = 0; i < IWM_RX_ID_HASH; i++) | 280 | spin_lock_init(&iwm->ticket_lock); |
281 | for (i = 0; i < IWM_RX_ID_HASH; i++) { | ||
281 | INIT_LIST_HEAD(&iwm->rx_packets[i]); | 282 | INIT_LIST_HEAD(&iwm->rx_packets[i]); |
283 | spin_lock_init(&iwm->packet_lock[i]); | ||
284 | } | ||
282 | 285 | ||
283 | INIT_WORK(&iwm->rx_worker, iwm_rx_worker); | 286 | INIT_WORK(&iwm->rx_worker, iwm_rx_worker); |
284 | 287 | ||
@@ -424,9 +427,9 @@ int iwm_notif_send(struct iwm_priv *iwm, struct iwm_wifi_cmd *cmd, | |||
424 | static struct iwm_notif *iwm_notif_find(struct iwm_priv *iwm, u32 cmd, | 427 | static struct iwm_notif *iwm_notif_find(struct iwm_priv *iwm, u32 cmd, |
425 | u8 source) | 428 | u8 source) |
426 | { | 429 | { |
427 | struct iwm_notif *notif, *next; | 430 | struct iwm_notif *notif; |
428 | 431 | ||
429 | list_for_each_entry_safe(notif, next, &iwm->pending_notif, pending) { | 432 | list_for_each_entry(notif, &iwm->pending_notif, pending) { |
430 | if ((notif->cmd_id == cmd) && (notif->src == source)) { | 433 | if ((notif->cmd_id == cmd) && (notif->src == source)) { |
431 | list_del(¬if->pending); | 434 | list_del(¬if->pending); |
432 | return notif; | 435 | return notif; |