aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/rtl818x/rtl8180/dev.c17
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";