Skip to content

Commit

Permalink
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/gi…
Browse files Browse the repository at this point in the history
…t/linville/wireless into for-davem
  • Loading branch information
John W. Linville committed Sep 22, 2012
2 parents abef3bd + a7be50b commit 1199992
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 4 deletions.
1 change: 1 addition & 0 deletions drivers/net/wireless/iwlwifi/pcie/trans.c
Original file line number Diff line number Diff line change
Expand Up @@ -1442,6 +1442,7 @@ static int iwl_trans_pcie_start_hw(struct iwl_trans *trans)
return err;

err_free_irq:
trans_pcie->irq_requested = false;
free_irq(trans_pcie->irq, trans);
error:
iwl_free_isr_ict(trans);
Expand Down
2 changes: 2 additions & 0 deletions net/bluetooth/hci_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -734,6 +734,8 @@ static int hci_dev_do_close(struct hci_dev *hdev)

cancel_work_sync(&hdev->le_scan);

cancel_delayed_work(&hdev->power_off);

hci_req_cancel(hdev, ENODEV);
hci_req_lock(hdev);

Expand Down
2 changes: 1 addition & 1 deletion net/bluetooth/l2cap_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1008,7 +1008,7 @@ static void l2cap_send_disconn_req(struct l2cap_conn *conn, struct l2cap_chan *c
if (!conn)
return;

if (chan->mode == L2CAP_MODE_ERTM) {
if (chan->mode == L2CAP_MODE_ERTM && chan->state == BT_CONNECTED) {
__clear_retrans_timer(chan);
__clear_monitor_timer(chan);
__clear_ack_timer(chan);
Expand Down
16 changes: 16 additions & 0 deletions net/bluetooth/mgmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -2875,6 +2875,22 @@ int mgmt_powered(struct hci_dev *hdev, u8 powered)
if (scan)
hci_send_cmd(hdev, HCI_OP_WRITE_SCAN_ENABLE, 1, &scan);

if (test_bit(HCI_SSP_ENABLED, &hdev->dev_flags)) {
u8 ssp = 1;

hci_send_cmd(hdev, HCI_OP_WRITE_SSP_MODE, 1, &ssp);
}

if (test_bit(HCI_LE_ENABLED, &hdev->dev_flags)) {
struct hci_cp_write_le_host_supported cp;

cp.le = 1;
cp.simul = !!(hdev->features[6] & LMP_SIMUL_LE_BR);

hci_send_cmd(hdev, HCI_OP_WRITE_LE_HOST_SUPPORTED,
sizeof(cp), &cp);
}

update_class(hdev);
update_name(hdev, hdev->dev_name);
update_eir(hdev);
Expand Down
12 changes: 9 additions & 3 deletions net/wireless/reg.c
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,9 @@ static void reg_regdb_search(struct work_struct *work)
struct reg_regdb_search_request *request;
const struct ieee80211_regdomain *curdom, *regdom;
int i, r;
bool set_reg = false;

mutex_lock(&cfg80211_mutex);

mutex_lock(&reg_regdb_search_mutex);
while (!list_empty(&reg_regdb_search_list)) {
Expand All @@ -365,16 +368,19 @@ static void reg_regdb_search(struct work_struct *work)
r = reg_copy_regd(&regdom, curdom);
if (r)
break;
mutex_lock(&cfg80211_mutex);
set_regdom(regdom);
mutex_unlock(&cfg80211_mutex);
set_reg = true;
break;
}
}

kfree(request);
}
mutex_unlock(&reg_regdb_search_mutex);

if (set_reg)
set_regdom(regdom);

mutex_unlock(&cfg80211_mutex);
}

static DECLARE_WORK(reg_regdb_work, reg_regdb_search);
Expand Down

0 comments on commit 1199992

Please sign in to comment.