kernel: fix bgmac check for chip ID
[openwrt/openwrt.git] / target / linux / generic / patches-3.14 / 773-bgmac-add-srab-switch.patch
index c2eef69924b8b49621f5ee1b803371430d879c23..ef12cac9bffe905ab64013be670119f2f02a37e8 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
  #include <bcm47xx_nvram.h>
  
  static const struct bcma_device_id bgmac_bcma_tbl[] = {
-@@ -1405,6 +1406,17 @@ static void bgmac_mii_unregister(struct 
+@@ -1405,6 +1406,17 @@ static void bgmac_mii_unregister(struct
        mdiobus_free(mii_bus);
  }
  
@@ -30,12 +30,12 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
  /**************************************************
   * BCMA bus ops
   **************************************************/
-@@ -1521,6 +1533,16 @@ static int bgmac_probe(struct bcma_devic
+@@ -1524,6 +1536,16 @@ static int bgmac_probe(struct bcma_devic
                goto err_dma_free;
        }
  
-+      if (core->id.id != BCMA_CHIP_ID_BCM4707 &&
-+          core->id.id != BCMA_CHIP_ID_BCM53018 &&
++      if ((ci->id == BCMA_CHIP_ID_BCM4707 ||
++           ci->id == BCMA_CHIP_ID_BCM53018) &&
 +          !bgmac_b53_pdata.regs) {
 +              bgmac_b53_pdata.regs = ioremap_nocache(0x18007000, 0x1000);
 +
@@ -47,7 +47,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
        err = register_netdev(bgmac->net_dev);
        if (err) {
                bgmac_err(bgmac, "Cannot register net device\n");
-@@ -1549,6 +1571,10 @@ static void bgmac_remove(struct bcma_dev
+@@ -1550,6 +1572,10 @@ static void bgmac_remove(struct bcma_dev
  {
        struct bgmac *bgmac = bcma_get_drvdata(core);
  
@@ -55,9 +55,9 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
 +              platform_device_unregister(&bgmac_b53_dev);
 +      bgmac->b53_device = NULL;
 +
-       netif_napi_del(&bgmac->napi);
        unregister_netdev(bgmac->net_dev);
        bgmac_mii_unregister(bgmac);
+       netif_napi_del(&bgmac->napi);
 --- a/drivers/net/ethernet/broadcom/bgmac.h
 +++ b/drivers/net/ethernet/broadcom/bgmac.h
 @@ -457,6 +457,9 @@ struct bgmac {