]> git.baikalelectronics.ru Git - kernel.git/commit
IB/ehca: Rework destroy_eq()
authorAlexander Schmidt <alexs@linux.vnet.ibm.com>
Wed, 9 Dec 2009 18:11:04 +0000 (10:11 -0800)
committerRoland Dreier <rolandd@cisco.com>
Wed, 9 Dec 2009 18:11:04 +0000 (10:11 -0800)
commit6d39c7101d99f6027e72adae3566e8f5f8ccdc7e
treeb2b43bbaa396613434143efe79b00b15eed690f1
parent7babd7ef497df25f34eeeacf91a75450c8daa37d
IB/ehca: Rework destroy_eq()

The ibmebus_free_irq() function, which might sleep, was called with
interrupts disabled.  To fix this, make sure that no interrupts are
running by killing the interrupt tasklet.  Also lock the
shca_list_lock to protect against the poll_eqs_timer running
concurrently.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ehca/ehca_classes.h
drivers/infiniband/hw/ehca/ehca_eq.c
drivers/infiniband/hw/ehca/ehca_main.c