cciss: fix problem that deleting multiple logical drives could cause a panic
authorStephen M. Cameron <scameron@beardog.cca.cpqcorp.net>
Thu, 18 Dec 2008 13:55:11 +0000 (14:55 +0100)
committerJens Axboe <jens.axboe@oracle.com>
Fri, 19 Dec 2008 07:14:07 +0000 (08:14 +0100)
commitd8a0be6ab7ba1ffa43e7ea0dcdde3e8b68d4f762
treeb0e66e1dddaea05d9bc0b85461ffd058229a672f
parent929096fe9ff1f4b3645cf3919527ab47e8d5e17c
cciss: fix problem that deleting multiple logical drives could cause a panic

Fix problem that deleting multiple logical drives could cause a panic.

It fixes a panic which can be easily reproduced in the following way: Just
create several "arrays," each with multiple logical drives via hpacucli,
then delete the first array, and it will blow up in deregister_disk(), in
the call to get_host() when it tries to dig the hba pointer out of a NULL
queue pointer.

The problem has been present since my code to make rebuild_lun_table
behave better went in.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cca.cpqcorp.net>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
drivers/block/cciss.c