Loading drivers/net/wireless/rtlwifi/pci.c +12 −1 Original line number Diff line number Diff line Loading @@ -1624,6 +1624,16 @@ static bool _rtl_pci_find_adapter(struct pci_dev *pdev, pci_read_config_byte(pdev, 0x8, &revisionid); pci_read_config_word(pdev, 0x3C, &irqline); /* PCI ID 0x10ec:0x8192 occurs for both RTL8192E, which uses * r8192e_pci, and RTL8192SE, which uses this driver. If the * revision ID is RTL_PCI_REVISION_ID_8192PCIE (0x01), then * the correct driver is r8192e_pci, thus this routine should * return false. */ if (deviceid == RTL_PCI_8192SE_DID && revisionid == RTL_PCI_REVISION_ID_8192PCIE) return false; if (deviceid == RTL_PCI_8192_DID || deviceid == RTL_PCI_0044_DID || deviceid == RTL_PCI_0047_DID || Loading Loading @@ -1856,7 +1866,8 @@ int __devinit rtl_pci_probe(struct pci_dev *pdev, pci_write_config_byte(pdev, 0x04, 0x07); /* find adapter */ _rtl_pci_find_adapter(pdev, hw); if (!_rtl_pci_find_adapter(pdev, hw)) goto fail3; /* Init IO handler */ _rtl_pci_io_handler_init(&pdev->dev, hw); Loading drivers/net/wireless/rtlwifi/rtl8192cu/sw.c +20 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,8 @@ MODULE_FIRMWARE("rtlwifi/rtl8192cufw.bin"); static int rtl92cu_init_sw_vars(struct ieee80211_hw *hw) { struct rtl_priv *rtlpriv = rtl_priv(hw); const struct firmware *firmware; int err; rtlpriv->dm.dm_initialgain_enable = 1; rtlpriv->dm.dm_flag = 0; Loading @@ -64,6 +66,24 @@ static int rtl92cu_init_sw_vars(struct ieee80211_hw *hw) ("Can't alloc buffer for fw.\n")); return 1; } /* request fw */ err = request_firmware(&firmware, rtlpriv->cfg->fw_name, rtlpriv->io.dev); if (err) { RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, ("Failed to request firmware!\n")); return 1; } if (firmware->size > 0x4000) { RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, ("Firmware is too big!\n")); release_firmware(firmware); return 1; } memcpy(rtlpriv->rtlhal.pfirmware, firmware->data, firmware->size); rtlpriv->rtlhal.fwsize = firmware->size; release_firmware(firmware); return 0; } Loading net/bluetooth/hci_conn.c +3 −3 Original line number Diff line number Diff line Loading @@ -608,10 +608,10 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type) goto encrypt; auth: if (test_and_set_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend)) if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend)) return 0; hci_conn_auth(conn, sec_level, auth_type); if (!hci_conn_auth(conn, sec_level, auth_type)) return 0; encrypt: Loading net/bluetooth/l2cap_core.c +15 −6 Original line number Diff line number Diff line Loading @@ -4002,21 +4002,30 @@ static int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt) } } else if (sk->sk_state == BT_CONNECT2) { struct l2cap_conn_rsp rsp; __u16 result; __u16 res, stat; if (!status) { if (bt_sk(sk)->defer_setup) { struct sock *parent = bt_sk(sk)->parent; res = L2CAP_CR_PEND; stat = L2CAP_CS_AUTHOR_PEND; parent->sk_data_ready(parent, 0); } else { sk->sk_state = BT_CONFIG; result = L2CAP_CR_SUCCESS; res = L2CAP_CR_SUCCESS; stat = L2CAP_CS_NO_INFO; } } else { sk->sk_state = BT_DISCONN; l2cap_sock_set_timer(sk, HZ / 10); result = L2CAP_CR_SEC_BLOCK; res = L2CAP_CR_SEC_BLOCK; stat = L2CAP_CS_NO_INFO; } rsp.scid = cpu_to_le16(chan->dcid); rsp.dcid = cpu_to_le16(chan->scid); rsp.result = cpu_to_le16(result); rsp.status = cpu_to_le16(L2CAP_CS_NO_INFO); rsp.result = cpu_to_le16(res); rsp.status = cpu_to_le16(stat); l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_RSP, sizeof(rsp), &rsp); } Loading Loading
drivers/net/wireless/rtlwifi/pci.c +12 −1 Original line number Diff line number Diff line Loading @@ -1624,6 +1624,16 @@ static bool _rtl_pci_find_adapter(struct pci_dev *pdev, pci_read_config_byte(pdev, 0x8, &revisionid); pci_read_config_word(pdev, 0x3C, &irqline); /* PCI ID 0x10ec:0x8192 occurs for both RTL8192E, which uses * r8192e_pci, and RTL8192SE, which uses this driver. If the * revision ID is RTL_PCI_REVISION_ID_8192PCIE (0x01), then * the correct driver is r8192e_pci, thus this routine should * return false. */ if (deviceid == RTL_PCI_8192SE_DID && revisionid == RTL_PCI_REVISION_ID_8192PCIE) return false; if (deviceid == RTL_PCI_8192_DID || deviceid == RTL_PCI_0044_DID || deviceid == RTL_PCI_0047_DID || Loading Loading @@ -1856,7 +1866,8 @@ int __devinit rtl_pci_probe(struct pci_dev *pdev, pci_write_config_byte(pdev, 0x04, 0x07); /* find adapter */ _rtl_pci_find_adapter(pdev, hw); if (!_rtl_pci_find_adapter(pdev, hw)) goto fail3; /* Init IO handler */ _rtl_pci_io_handler_init(&pdev->dev, hw); Loading
drivers/net/wireless/rtlwifi/rtl8192cu/sw.c +20 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,8 @@ MODULE_FIRMWARE("rtlwifi/rtl8192cufw.bin"); static int rtl92cu_init_sw_vars(struct ieee80211_hw *hw) { struct rtl_priv *rtlpriv = rtl_priv(hw); const struct firmware *firmware; int err; rtlpriv->dm.dm_initialgain_enable = 1; rtlpriv->dm.dm_flag = 0; Loading @@ -64,6 +66,24 @@ static int rtl92cu_init_sw_vars(struct ieee80211_hw *hw) ("Can't alloc buffer for fw.\n")); return 1; } /* request fw */ err = request_firmware(&firmware, rtlpriv->cfg->fw_name, rtlpriv->io.dev); if (err) { RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, ("Failed to request firmware!\n")); return 1; } if (firmware->size > 0x4000) { RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, ("Firmware is too big!\n")); release_firmware(firmware); return 1; } memcpy(rtlpriv->rtlhal.pfirmware, firmware->data, firmware->size); rtlpriv->rtlhal.fwsize = firmware->size; release_firmware(firmware); return 0; } Loading
net/bluetooth/hci_conn.c +3 −3 Original line number Diff line number Diff line Loading @@ -608,10 +608,10 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type) goto encrypt; auth: if (test_and_set_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend)) if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend)) return 0; hci_conn_auth(conn, sec_level, auth_type); if (!hci_conn_auth(conn, sec_level, auth_type)) return 0; encrypt: Loading
net/bluetooth/l2cap_core.c +15 −6 Original line number Diff line number Diff line Loading @@ -4002,21 +4002,30 @@ static int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt) } } else if (sk->sk_state == BT_CONNECT2) { struct l2cap_conn_rsp rsp; __u16 result; __u16 res, stat; if (!status) { if (bt_sk(sk)->defer_setup) { struct sock *parent = bt_sk(sk)->parent; res = L2CAP_CR_PEND; stat = L2CAP_CS_AUTHOR_PEND; parent->sk_data_ready(parent, 0); } else { sk->sk_state = BT_CONFIG; result = L2CAP_CR_SUCCESS; res = L2CAP_CR_SUCCESS; stat = L2CAP_CS_NO_INFO; } } else { sk->sk_state = BT_DISCONN; l2cap_sock_set_timer(sk, HZ / 10); result = L2CAP_CR_SEC_BLOCK; res = L2CAP_CR_SEC_BLOCK; stat = L2CAP_CS_NO_INFO; } rsp.scid = cpu_to_le16(chan->dcid); rsp.dcid = cpu_to_le16(chan->scid); rsp.result = cpu_to_le16(result); rsp.status = cpu_to_le16(L2CAP_CS_NO_INFO); rsp.result = cpu_to_le16(res); rsp.status = cpu_to_le16(stat); l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_RSP, sizeof(rsp), &rsp); } Loading