diff options
author | Jan-Bernd Themann <ossthema@de.ibm.com> | 2007-08-22 10:21:28 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-08-25 02:31:20 -0400 |
commit | 28721c890c9b71cfee45e835bda4639777862e2f (patch) | |
tree | 0e547480cb712f2ebc994cc24b35ba9b82743550 /drivers/net/ehea/ehea_qmr.c | |
parent | 18072a5bf7211d6899a2edc90c291c5c6fbc83d2 (diff) |
ehea: fix queue destructor
Includes hcp_epas_dtor in eq/cq/qp destructors to unmap
HW register.
Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/ehea/ehea_qmr.c')
-rw-r--r-- | drivers/net/ehea/ehea_qmr.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/ehea/ehea_qmr.c b/drivers/net/ehea/ehea_qmr.c index a36fa6c23fdf..c82e24596074 100644 --- a/drivers/net/ehea/ehea_qmr.c +++ b/drivers/net/ehea/ehea_qmr.c | |||
@@ -235,6 +235,8 @@ int ehea_destroy_cq(struct ehea_cq *cq) | |||
235 | if (!cq) | 235 | if (!cq) |
236 | return 0; | 236 | return 0; |
237 | 237 | ||
238 | hcp_epas_dtor(&cq->epas); | ||
239 | |||
238 | if ((hret = ehea_destroy_cq_res(cq, NORMAL_FREE)) == H_R_STATE) { | 240 | if ((hret = ehea_destroy_cq_res(cq, NORMAL_FREE)) == H_R_STATE) { |
239 | ehea_error_data(cq->adapter, cq->fw_handle); | 241 | ehea_error_data(cq->adapter, cq->fw_handle); |
240 | hret = ehea_destroy_cq_res(cq, FORCE_FREE); | 242 | hret = ehea_destroy_cq_res(cq, FORCE_FREE); |
@@ -361,6 +363,8 @@ int ehea_destroy_eq(struct ehea_eq *eq) | |||
361 | if (!eq) | 363 | if (!eq) |
362 | return 0; | 364 | return 0; |
363 | 365 | ||
366 | hcp_epas_dtor(&eq->epas); | ||
367 | |||
364 | if ((hret = ehea_destroy_eq_res(eq, NORMAL_FREE)) == H_R_STATE) { | 368 | if ((hret = ehea_destroy_eq_res(eq, NORMAL_FREE)) == H_R_STATE) { |
365 | ehea_error_data(eq->adapter, eq->fw_handle); | 369 | ehea_error_data(eq->adapter, eq->fw_handle); |
366 | hret = ehea_destroy_eq_res(eq, FORCE_FREE); | 370 | hret = ehea_destroy_eq_res(eq, FORCE_FREE); |
@@ -541,6 +545,8 @@ int ehea_destroy_qp(struct ehea_qp *qp) | |||
541 | if (!qp) | 545 | if (!qp) |
542 | return 0; | 546 | return 0; |
543 | 547 | ||
548 | hcp_epas_dtor(&qp->epas); | ||
549 | |||
544 | if ((hret = ehea_destroy_qp_res(qp, NORMAL_FREE)) == H_R_STATE) { | 550 | if ((hret = ehea_destroy_qp_res(qp, NORMAL_FREE)) == H_R_STATE) { |
545 | ehea_error_data(qp->adapter, qp->fw_handle); | 551 | ehea_error_data(qp->adapter, qp->fw_handle); |
546 | hret = ehea_destroy_qp_res(qp, FORCE_FREE); | 552 | hret = ehea_destroy_qp_res(qp, FORCE_FREE); |