Showing error 908

User: Jiri Slaby
Error type: Double Lock
Error type description: Some lock is locked twice unintentionally in a sequence
File location: net/mac80211/scan.c
Line in file: 44
Project: Linux Kernel
Project version: 2.6.28
Tools: Undetermined 1
Entered: 2012-02-27 21:22:42 UTC


Source:

 14
 15/* TODO:
 16 * order BSS list by RSSI(?) ("quality of AP")
 17 * scan result table filtering (by capability (privacy, IBSS/BSS, WPA/RSN IE,
 18 *    SSID)
 19 */
 20
 21#include <linux/wireless.h>
 22#include <linux/if_arp.h>
 23#include <net/mac80211.h>
 24#include <net/iw_handler.h>
 25
 26#include "ieee80211_i.h"
 27#include "mesh.h"
 28
 29#define IEEE80211_PROBE_DELAY (HZ / 33)
 30#define IEEE80211_CHANNEL_TIME (HZ / 33)
 31#define IEEE80211_PASSIVE_CHANNEL_TIME (HZ / 5)
 32
 33void ieee80211_rx_bss_list_init(struct ieee80211_local *local)
 34{
 35        spin_lock_init(&local->bss_lock);
 36        INIT_LIST_HEAD(&local->bss_list);
 37}
 38
 39void ieee80211_rx_bss_list_deinit(struct ieee80211_local *local)
 40{
 41        struct ieee80211_bss *bss, *tmp;
 42
 43        list_for_each_entry_safe(bss, tmp, &local->bss_list, list)
 44                ieee80211_rx_bss_put(local, bss);
 45}
 46
 47struct ieee80211_bss *
 48ieee80211_rx_bss_get(struct ieee80211_local *local, u8 *bssid, int freq,
 49                     u8 *ssid, u8 ssid_len)
 50{
 51        struct ieee80211_bss *bss;
 52
 53        spin_lock_bh(&local->bss_lock);
 54        bss = local->bss_hash[STA_HASH(bssid)];
Show full sources