|
@@ -519,6 +519,12 @@ static int ocrdma_close(struct ocrdma_dev *dev)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static void ocrdma_shutdown(struct ocrdma_dev *dev)
|
|
|
|
+{
|
|
|
|
+ ocrdma_close(dev);
|
|
|
|
+ ocrdma_remove(dev);
|
|
|
|
+}
|
|
|
|
+
|
|
/* event handling via NIC driver ensures that all the NIC specific
|
|
/* event handling via NIC driver ensures that all the NIC specific
|
|
* initialization done before RoCE driver notifies
|
|
* initialization done before RoCE driver notifies
|
|
* event to stack.
|
|
* event to stack.
|
|
@@ -532,6 +538,9 @@ static void ocrdma_event_handler(struct ocrdma_dev *dev, u32 event)
|
|
case BE_DEV_DOWN:
|
|
case BE_DEV_DOWN:
|
|
ocrdma_close(dev);
|
|
ocrdma_close(dev);
|
|
break;
|
|
break;
|
|
|
|
+ case BE_DEV_SHUTDOWN:
|
|
|
|
+ ocrdma_shutdown(dev);
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|