aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/ocrdma/ocrdma_main.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/ocrdma/ocrdma_main.c b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
index 227a5422db0b..3cb20c6b91ce 100644
--- a/drivers/infiniband/hw/ocrdma/ocrdma_main.c
+++ b/drivers/infiniband/hw/ocrdma/ocrdma_main.c
@@ -519,6 +519,12 @@ static int ocrdma_close(struct ocrdma_dev *dev)
519 return 0; 519 return 0;
520} 520}
521 521
522static void ocrdma_shutdown(struct ocrdma_dev *dev)
523{
524 ocrdma_close(dev);
525 ocrdma_remove(dev);
526}
527
522/* event handling via NIC driver ensures that all the NIC specific 528/* event handling via NIC driver ensures that all the NIC specific
523 * initialization done before RoCE driver notifies 529 * initialization done before RoCE driver notifies
524 * event to stack. 530 * event to stack.
@@ -532,6 +538,9 @@ static void ocrdma_event_handler(struct ocrdma_dev *dev, u32 event)
532 case BE_DEV_DOWN: 538 case BE_DEV_DOWN:
533 ocrdma_close(dev); 539 ocrdma_close(dev);
534 break; 540 break;
541 case BE_DEV_SHUTDOWN:
542 ocrdma_shutdown(dev);
543 break;
535 } 544 }
536} 545}
537 546