Commit 24b5fbf9 authored by Andrea Merello's avatar Andrea Merello Committed by John W. Linville

rtl8180: detect rtl8187se card

Add case to detect the rtl8187se card and its RF frontend.
In this case set also accordingly mac80211 queue number.
Signed-off-by: default avatarAndrea Merello <andrea.merello@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent e944b0af
...@@ -1740,6 +1740,12 @@ static int rtl8180_probe(struct pci_dev *pdev, ...@@ -1740,6 +1740,12 @@ static int rtl8180_probe(struct pci_dev *pdev,
chip_name = "RTL8185vD"; chip_name = "RTL8185vD";
priv->chip_family = RTL818X_CHIP_FAMILY_RTL8185; priv->chip_family = RTL818X_CHIP_FAMILY_RTL8185;
break; break;
case RTL818X_TX_CONF_RTL8187SE:
chip_name = "RTL8187SE";
priv->chip_family = RTL818X_CHIP_FAMILY_RTL8187SE;
break;
default: default:
printk(KERN_ERR "%s (rtl8180): Unknown chip! (0x%x)\n", printk(KERN_ERR "%s (rtl8180): Unknown chip! (0x%x)\n",
pci_name(pdev), reg >> 25); pci_name(pdev), reg >> 25);
...@@ -1753,7 +1759,10 @@ static int rtl8180_probe(struct pci_dev *pdev, ...@@ -1753,7 +1759,10 @@ static int rtl8180_probe(struct pci_dev *pdev,
* with mac80211, however the beacon queue is an exception and it * with mac80211, however the beacon queue is an exception and it
* is mapped on the highst tx ring IDX. * is mapped on the highst tx ring IDX.
*/ */
dev->queues = RTL8180_NR_TX_QUEUES - 1; if (priv->chip_family == RTL818X_CHIP_FAMILY_RTL8187SE)
dev->queues = RTL8187SE_NR_TX_QUEUES - 1;
else
dev->queues = RTL8180_NR_TX_QUEUES - 1;
if (priv->chip_family != RTL818X_CHIP_FAMILY_RTL8180) { if (priv->chip_family != RTL818X_CHIP_FAMILY_RTL8180) {
priv->band.n_bitrates = ARRAY_SIZE(rtl818x_rates); priv->band.n_bitrates = ARRAY_SIZE(rtl818x_rates);
...@@ -1773,7 +1782,11 @@ static int rtl8180_probe(struct pci_dev *pdev, ...@@ -1773,7 +1782,11 @@ static int rtl8180_probe(struct pci_dev *pdev,
break; break;
case 5: priv->rf = &grf5101_rf_ops; case 5: priv->rf = &grf5101_rf_ops;
break; break;
case 9: priv->rf = rtl8180_detect_rf(dev); case 9:
if (priv->chip_family == RTL818X_CHIP_FAMILY_RTL8187SE)
priv->rf = rtl8187se_detect_rf(dev);
else
priv->rf = rtl8180_detect_rf(dev);
break; break;
case 10: case 10:
rf_name = "RTL8255"; rf_name = "RTL8255";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment