Hello Roland!
This is a patch for ehca_irq.c that fixes an unproper use of spin_unlock
in irq handler.
Thanks
Nam
Signed-off-by Hoang-Nam Nguyen <[email protected]>
---
ehca_irq.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/ehca/ehca_irq.c b/drivers/infiniband/hw/ehca/ehca_irq.c
index e7209af..93788d8 100644
--- a/drivers/infiniband/hw/ehca/ehca_irq.c
+++ b/drivers/infiniband/hw/ehca/ehca_irq.c
@@ -440,7 +440,7 @@ void ehca_tasklet_eq(unsigned long data)
cq = idr_find(&ehca_cq_idr, token);
if (cq == NULL) {
- spin_unlock(&ehca_cq_idr_lock);
+ spin_unlock_irqrestore(&ehca_cq_idr_lock, flags);
break;
}
hmm, code line too long. please ignore the previous patch. here is the one
with correct length of code line.
Thanks
Nam
This is a patch for ehca_irq.c that fixes an unproper use of spin_unlock
in irq handler.
Signed-off-by Hoang-Nam Nguyen <[email protected]>
---
ehca_irq.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/infiniband/hw/ehca/ehca_irq.c b/drivers/infiniband/hw/ehca/ehca_irq.c
index e7209af..fd1a5fb 100644
--- a/drivers/infiniband/hw/ehca/ehca_irq.c
+++ b/drivers/infiniband/hw/ehca/ehca_irq.c
@@ -440,7 +440,9 @@ void ehca_tasklet_eq(unsigned long data)
cq = idr_find(&ehca_cq_idr, token);
if (cq == NULL) {
- spin_unlock(&ehca_cq_idr_lock);
+ spin_unlock_irqrestore(
+ &ehca_cq_idr_lock,
+ flags);
break;
}
Thanks, queued for 2.6.20 (although I left the line a little longer).
I think the right thing to do is restructure this function so you
don't have lines starting 6 tab stops to the right.
- R.
> I think the right thing to do is restructure this function so you
> don't have lines starting 6 tab stops to the right.
Yes. Have reworked this irq handler and still struggling with testing.
When we feel comfortable with the test result, we'll post it here (soon)
and hopefully it is easier to read.
Regards
Nam