aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ehea/ehea_qmr.c
diff options
context:
space:
mode:
authorJan-Bernd Themann <ossthema@de.ibm.com>2007-08-22 10:21:28 -0400
committerJeff Garzik <jeff@garzik.org>2007-08-25 02:31:20 -0400
commit28721c890c9b71cfee45e835bda4639777862e2f (patch)
tree0e547480cb712f2ebc994cc24b35ba9b82743550 /drivers/net/ehea/ehea_qmr.c
parent18072a5bf7211d6899a2edc90c291c5c6fbc83d2 (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.c6
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);