diff options
-rw-r--r-- | drivers/net/wireless/rtl818x/rtl8180/dev.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/net/wireless/rtl818x/rtl8180/dev.c b/drivers/net/wireless/rtl818x/rtl8180/dev.c index a14dfd931fa4..2046fe2f1065 100644 --- a/drivers/net/wireless/rtl818x/rtl8180/dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180/dev.c | |||
@@ -1740,6 +1740,12 @@ static int rtl8180_probe(struct pci_dev *pdev, | |||
1740 | chip_name = "RTL8185vD"; | 1740 | chip_name = "RTL8185vD"; |
1741 | priv->chip_family = RTL818X_CHIP_FAMILY_RTL8185; | 1741 | priv->chip_family = RTL818X_CHIP_FAMILY_RTL8185; |
1742 | break; | 1742 | break; |
1743 | |||
1744 | case RTL818X_TX_CONF_RTL8187SE: | ||
1745 | chip_name = "RTL8187SE"; | ||
1746 | priv->chip_family = RTL818X_CHIP_FAMILY_RTL8187SE; | ||
1747 | break; | ||
1748 | |||
1743 | default: | 1749 | default: |
1744 | printk(KERN_ERR "%s (rtl8180): Unknown chip! (0x%x)\n", | 1750 | printk(KERN_ERR "%s (rtl8180): Unknown chip! (0x%x)\n", |
1745 | pci_name(pdev), reg >> 25); | 1751 | pci_name(pdev), reg >> 25); |
@@ -1753,7 +1759,10 @@ static int rtl8180_probe(struct pci_dev *pdev, | |||
1753 | * with mac80211, however the beacon queue is an exception and it | 1759 | * with mac80211, however the beacon queue is an exception and it |
1754 | * is mapped on the highst tx ring IDX. | 1760 | * is mapped on the highst tx ring IDX. |
1755 | */ | 1761 | */ |
1756 | dev->queues = RTL8180_NR_TX_QUEUES - 1; | 1762 | if (priv->chip_family == RTL818X_CHIP_FAMILY_RTL8187SE) |
1763 | dev->queues = RTL8187SE_NR_TX_QUEUES - 1; | ||
1764 | else | ||
1765 | dev->queues = RTL8180_NR_TX_QUEUES - 1; | ||
1757 | 1766 | ||
1758 | if (priv->chip_family != RTL818X_CHIP_FAMILY_RTL8180) { | 1767 | if (priv->chip_family != RTL818X_CHIP_FAMILY_RTL8180) { |
1759 | priv->band.n_bitrates = ARRAY_SIZE(rtl818x_rates); | 1768 | priv->band.n_bitrates = ARRAY_SIZE(rtl818x_rates); |
@@ -1773,7 +1782,11 @@ static int rtl8180_probe(struct pci_dev *pdev, | |||
1773 | break; | 1782 | break; |
1774 | case 5: priv->rf = &grf5101_rf_ops; | 1783 | case 5: priv->rf = &grf5101_rf_ops; |
1775 | break; | 1784 | break; |
1776 | case 9: priv->rf = rtl8180_detect_rf(dev); | 1785 | case 9: |
1786 | if (priv->chip_family == RTL818X_CHIP_FAMILY_RTL8187SE) | ||
1787 | priv->rf = rtl8187se_detect_rf(dev); | ||
1788 | else | ||
1789 | priv->rf = rtl8180_detect_rf(dev); | ||
1777 | break; | 1790 | break; |
1778 | case 10: | 1791 | case 10: |
1779 | rf_name = "RTL8255"; | 1792 | rf_name = "RTL8255"; |