diff options
| -rw-r--r-- | drivers/infiniband/core/sa_query.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/infiniband/core/sa_query.c b/drivers/infiniband/core/sa_query.c index 1341de793e51..7863a50d56f2 100644 --- a/drivers/infiniband/core/sa_query.c +++ b/drivers/infiniband/core/sa_query.c | |||
| @@ -1064,7 +1064,8 @@ static void ib_sa_remove_one(struct ib_device *device) | |||
| 1064 | 1064 | ||
| 1065 | for (i = 0; i <= sa_dev->end_port - sa_dev->start_port; ++i) { | 1065 | for (i = 0; i <= sa_dev->end_port - sa_dev->start_port; ++i) { |
| 1066 | ib_unregister_mad_agent(sa_dev->port[i].agent); | 1066 | ib_unregister_mad_agent(sa_dev->port[i].agent); |
| 1067 | kref_put(&sa_dev->port[i].sm_ah->ref, free_sm_ah); | 1067 | if (sa_dev->port[i].sm_ah) |
| 1068 | kref_put(&sa_dev->port[i].sm_ah->ref, free_sm_ah); | ||
| 1068 | } | 1069 | } |
| 1069 | 1070 | ||
| 1070 | kfree(sa_dev); | 1071 | kfree(sa_dev); |
