|
@@ -9347,10 +9347,16 @@ void bnx2x_chip_cleanup(struct bnx2x *bp, int unload_mode, bool keep_link)
|
|
|
BNX2X_ERR("Failed to schedule DEL commands for UC MACs list: %d\n",
|
|
BNX2X_ERR("Failed to schedule DEL commands for UC MACs list: %d\n",
|
|
|
rc);
|
|
rc);
|
|
|
|
|
|
|
|
- /* Remove all currently configured VLANs */
|
|
|
|
|
- rc = bnx2x_del_all_vlans(bp);
|
|
|
|
|
- if (rc < 0)
|
|
|
|
|
- BNX2X_ERR("Failed to delete all VLANs\n");
|
|
|
|
|
|
|
+ /* The whole *vlan_obj structure may be not initialized if VLAN
|
|
|
|
|
+ * filtering offload is not supported by hardware. Currently this is
|
|
|
|
|
+ * true for all hardware covered by CHIP_IS_E1x().
|
|
|
|
|
+ */
|
|
|
|
|
+ if (!CHIP_IS_E1x(bp)) {
|
|
|
|
|
+ /* Remove all currently configured VLANs */
|
|
|
|
|
+ rc = bnx2x_del_all_vlans(bp);
|
|
|
|
|
+ if (rc < 0)
|
|
|
|
|
+ BNX2X_ERR("Failed to delete all VLANs\n");
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
/* Disable LLH */
|
|
/* Disable LLH */
|
|
|
if (!CHIP_IS_E1(bp))
|
|
if (!CHIP_IS_E1(bp))
|