Skip to content

Commit

Permalink
rtl8180: detect rtl8187se card
Browse files Browse the repository at this point in the history
Add case to detect the rtl8187se card and its RF frontend.
In this case set also accordingly mac80211 queue number.

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Andrea Merello authored and John W. Linville committed Mar 27, 2014
1 parent e944b0a commit 24b5fbf
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions drivers/net/wireless/rtl818x/rtl8180/dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -1740,6 +1740,12 @@ static int rtl8180_probe(struct pci_dev *pdev,
chip_name = "RTL8185vD";
priv->chip_family = RTL818X_CHIP_FAMILY_RTL8185;
break;

case RTL818X_TX_CONF_RTL8187SE:
chip_name = "RTL8187SE";
priv->chip_family = RTL818X_CHIP_FAMILY_RTL8187SE;
break;

default:
printk(KERN_ERR "%s (rtl8180): Unknown chip! (0x%x)\n",
pci_name(pdev), reg >> 25);
Expand All @@ -1753,7 +1759,10 @@ static int rtl8180_probe(struct pci_dev *pdev,
* with mac80211, however the beacon queue is an exception and it
* 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) {
priv->band.n_bitrates = ARRAY_SIZE(rtl818x_rates);
Expand All @@ -1773,7 +1782,11 @@ static int rtl8180_probe(struct pci_dev *pdev,
break;
case 5: priv->rf = &grf5101_rf_ops;
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;
case 10:
rf_name = "RTL8255";
Expand Down

0 comments on commit 24b5fbf

Please sign in to comment.