]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
authorJohn W. Linville <linville@tuxdriver.com>
Thu, 21 Nov 2013 15:26:17 +0000 (10:26 -0500)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 21 Nov 2013 15:26:17 +0000 (10:26 -0500)
1  2 
drivers/net/wireless/brcm80211/brcmfmac/p2p.c
net/bluetooth/rfcomm/sock.c

index 5b5b952d47b194950c881eea53176df6ffe70af6,fcc5e7cfb4928661872e4cc761988c3a3568d0ca..4a2293041821ff708c6cefef86ed21406f18266c
@@@ -823,6 -823,7 +823,7 @@@ static s32 brcmf_p2p_run_escan(struct b
                }
                err = brcmf_p2p_escan(p2p, num_nodfs, chanspecs, search_state,
                                      action, P2PAPI_BSSCFG_DEVICE);
+               kfree(chanspecs);
        }
  exit:
        if (err)
@@@ -1148,7 -1149,7 +1149,7 @@@ static s32 brcmf_p2p_af_searching_chann
  
        pri_vif = p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif;
  
 -      INIT_COMPLETION(afx_hdl->act_frm_scan);
 +      reinit_completion(&afx_hdl->act_frm_scan);
        set_bit(BRCMF_P2P_STATUS_FINDING_COMMON_CHANNEL, &p2p->status);
        afx_hdl->is_active = true;
        afx_hdl->peer_chan = P2P_INVALID_CHANNEL;
@@@ -1501,7 -1502,7 +1502,7 @@@ static s32 brcmf_p2p_tx_action_frame(st
  
        brcmf_dbg(TRACE, "Enter\n");
  
 -      INIT_COMPLETION(p2p->send_af_done);
 +      reinit_completion(&p2p->send_af_done);
        clear_bit(BRCMF_P2P_STATUS_ACTION_TX_COMPLETED, &p2p->status);
        clear_bit(BRCMF_P2P_STATUS_ACTION_TX_NOACK, &p2p->status);
  
index c80766f892c36e367812929164f8e51d429cdbc7,0be7619c5e5e8aba93cc1af7b7b1bc056c9776aa..3c2d3e4aa2f58a271bea6632451edd21b92668a9
@@@ -615,6 -615,7 +615,6 @@@ static int rfcomm_sock_recvmsg(struct k
  
        if (test_and_clear_bit(RFCOMM_DEFER_SETUP, &d->flags)) {
                rfcomm_dlc_accept(d);
 -              msg->msg_namelen = 0;
                return 0;
        }
  
@@@ -738,8 -739,9 +738,9 @@@ static int rfcomm_sock_setsockopt(struc
  static int rfcomm_sock_getsockopt_old(struct socket *sock, int optname, char __user *optval, int __user *optlen)
  {
        struct sock *sk = sock->sk;
+       struct sock *l2cap_sk;
+       struct l2cap_conn *conn;
        struct rfcomm_conninfo cinfo;
-       struct l2cap_conn *conn = l2cap_pi(sk)->chan->conn;
        int len, err = 0;
        u32 opt;
  
                        break;
                }
  
+               l2cap_sk = rfcomm_pi(sk)->dlc->session->sock->sk;
+               conn = l2cap_pi(l2cap_sk)->chan->conn;
                memset(&cinfo, 0, sizeof(cinfo));
                cinfo.hci_handle = conn->hcon->handle;
                memcpy(cinfo.dev_class, conn->hcon->dev_class, 3);