hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/net/ethernet/broadcom/bgmac-bcma.c
....@@ -132,7 +132,7 @@
132132 mac = of_get_mac_address(bgmac->dev->of_node);
133133
134134 /* If no MAC address assigned via device tree, check SPROM */
135
- if (!mac) {
135
+ if (IS_ERR_OR_NULL(mac)) {
136136 switch (core->core_unit) {
137137 case 0:
138138 mac = sprom->et0mac;
....@@ -217,7 +217,7 @@
217217 /* BCM 471X/535X family */
218218 case BCMA_CHIP_ID_BCM4716:
219219 bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
220
- /* fallthrough */
220
+ fallthrough;
221221 case BCMA_CHIP_ID_BCM47162:
222222 bgmac->feature_flags |= BGMAC_FEAT_FLW_CTRL2;
223223 bgmac->feature_flags |= BGMAC_FEAT_SET_RXQ_CLK;
....@@ -228,12 +228,12 @@
228228 bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST;
229229 bgmac->feature_flags |= BGMAC_FEAT_FLW_CTRL1;
230230 bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_PHY;
231
- if (ci->pkg == BCMA_PKG_ID_BCM47188 ||
232
- ci->pkg == BCMA_PKG_ID_BCM47186) {
231
+ if ((ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg == BCMA_PKG_ID_BCM47186) ||
232
+ (ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188)) {
233233 bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_RGMII;
234234 bgmac->feature_flags |= BGMAC_FEAT_IOST_ATTACHED;
235235 }
236
- if (ci->pkg == BCMA_PKG_ID_BCM5358)
236
+ if (ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg == BCMA_PKG_ID_BCM5358)
237237 bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_EPHYRMII;
238238 break;
239239 case BCMA_CHIP_ID_BCM53573:
....@@ -323,7 +323,6 @@
323323 bcma_mdio_mii_unregister(bgmac->mii_bus);
324324 bgmac_enet_remove(bgmac);
325325 bcma_set_drvdata(core, NULL);
326
- kfree(bgmac);
327326 }
328327
329328 static struct bcma_driver bgmac_bcma_driver = {