diff options
| -rw-r--r-- | drivers/infiniband/hw/ocrdma/ocrdma_main.c | 9 |
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 | ||
| 522 | static 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 | ||
