iwlwifi: mvm: fix missing cleanup in .start() error path
authorEliad Peller <eliadx.peller@intel.com>
Sun, 5 Jan 2014 10:41:12 +0000 (12:41 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 13 Jan 2014 16:42:49 +0000 (18:42 +0200)
Cleanup of iwl_mvm_leds was missing in case of error,
resulting in the following warning:

WARNING: at lib/kobject.c:196 kobject_add_internal+0x1f4/0x210()
kobject_add_internal failed for phy0-led with -EEXIST, don't try to register things with the same name in the same directory.

which prevents further reloads of the driver.

Cc: stable@vger.kernel.org [3.10+]
Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/ops.c

index 552c76a926ed7aee2a0d30b1c8a4f4df1385b353..2437a06bf60e89ab8bcf54e14ba73529f561a8b9 100644 (file)
@@ -472,6 +472,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
 
  out_unregister:
        ieee80211_unregister_hw(mvm->hw);
+       iwl_mvm_leds_exit(mvm);
  out_free:
        iwl_phy_db_free(mvm->phy_db);
        kfree(mvm->scan_cmd);