1. 29 Jul, 2009 3 commits
    • Johannes Berg's avatar
      cfg80211: fix circular lock dependency (1) · bc43b28c
      Johannes Berg authored
      Luis reported this lockdep complaint, that he had also
      reported earlier but when trying to analyse I had been
      locking at the wrong code, and never saw the problem:
      
      (slightly abridged)
      =======================================================
      [ INFO: possible circular locking dependency detected ]
      2.6.31-rc4-wl #6
      -------------------------------------------------------
      wpa_supplicant/3799 is trying to acquire lock:
       (cfg80211_mutex){+.+.+.}, at: [<ffffffffa009246a>] cfg80211_get_dev_from_ifindex+0x1a/0x90 [cfg80211]
      
      but task is already holding lock:
       (rtnl_mutex){+.+.+.}, at: [<ffffffff81400ff2>] rtnl_lock+0x12/0x20
      
      which lock already depends on the new lock.
      
      the existing dependency chain (in reverse order) is:
      
      -> #1 (rtnl_mutex){+.+.+.}:
             [<ffffffff810857b6>] __lock_acquire+0xd76/0x12b0
             [<ffffffff81085dd3>] lock_acquire+0xe3/0x120
             [<ffffffff814ee7a4>] mutex_lock_nested+0x44/0x350
             [<ffffffff81400ff2>] rtnl_lock+0x12/0x20
             [<ffffffffa009f6a5>] nl80211_send_reg_change_event+0x1f5/0x2a0 [cfg80211]
             [<ffffffffa009529e>] set_regdom+0x28e/0x4c0 [cfg80211]
      
      -> #0 (cfg80211_mutex){+.+.+.}:
             [<ffffffff8108587b>] __lock_acquire+0xe3b/0x12b0
             [<ffffffff81085dd3>] lock_acquire+0xe3/0x120
             [<ffffffff814ee7a4>] mutex_lock_nested+0x44/0x350
             [<ffffffffa009246a>] cfg80211_get_dev_from_ifindex+0x1a/0x90 [cfg80211]
             [<ffffffffa009813f>] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211]
             [<ffffffffa009b12b>] nl80211_set_interface+0x3b/0x260 [cfg80211]
      
      When looking at the correct code, the problem is quite
      obvious. I'm not entirely sure which code paths lead
      here, so until I can analyse it better let's just use
      RCU to avoid the problem.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      bc43b28c
    • Reinette Chatre's avatar
      iwlagn: fix sparse warning when compiling without debug · 6686d17e
      Reinette Chatre authored
      C [M]  drivers/net/wireless/iwlwifi/iwl-core.o
      drivers/net/wireless/iwlwifi/iwl-core.c:1341: warning:
      ‘iwl_dump_nic_error_log’ defined but not used
      Reported-by: default avatarLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      6686d17e
    • Reinette Chatre's avatar
      iwlagn: fix null pointer access during ucode load on 1000 · f7ea097d
      Reinette Chatre authored
      Commit "iwlwifi: Handle new firmware file with ucode build number
      in header" introduced new ucode header parsing routines, but
      neglected to initialize these routines for 1000. The system thus goes
      into infinite loop trying to load ucode, failing every time with a null
      pointer exception as it tries to parse the header.
      Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Acked-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f7ea097d
  2. 27 Jul, 2009 37 commits