From 2e9ba0d6ca12e636a1ee8b5b41d5afc4844c29bb Mon Sep 17 00:00:00 2001 From: Brian King Date: Wed, 14 Mar 2012 21:20:06 -0500 Subject: [PATCH] --- yaml --- r: 298294 b: refs/heads/master c: 0ee1d714c285aabaadf7495bf5820114ad0959b1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/scsi/ipr.c | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 298dcc7849b6..4033f18fc840 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7d7311c44567cd2001ca318e4de64b753d9d35f8 +refs/heads/master: 0ee1d714c285aabaadf7495bf5820114ad0959b1 diff --git a/trunk/drivers/scsi/ipr.c b/trunk/drivers/scsi/ipr.c index cdfe5a16de2a..dcad2389be3d 100644 --- a/trunk/drivers/scsi/ipr.c +++ b/trunk/drivers/scsi/ipr.c @@ -4339,8 +4339,7 @@ static struct ipr_resource_entry *ipr_find_starget(struct scsi_target *starget) list_for_each_entry(res, &ioa_cfg->used_res_q, queue) { if ((res->bus == starget->channel) && - (res->target == starget->id) && - (res->lun == 0)) { + (res->target == starget->id)) { return res; } } @@ -4414,12 +4413,14 @@ static void ipr_target_destroy(struct scsi_target *starget) struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *) shost->hostdata; if (ioa_cfg->sis64) { - if (starget->channel == IPR_ARRAY_VIRTUAL_BUS) - clear_bit(starget->id, ioa_cfg->array_ids); - else if (starget->channel == IPR_VSET_VIRTUAL_BUS) - clear_bit(starget->id, ioa_cfg->vset_ids); - else if (starget->channel == 0) - clear_bit(starget->id, ioa_cfg->target_ids); + if (!ipr_find_starget(starget)) { + if (starget->channel == IPR_ARRAY_VIRTUAL_BUS) + clear_bit(starget->id, ioa_cfg->array_ids); + else if (starget->channel == IPR_VSET_VIRTUAL_BUS) + clear_bit(starget->id, ioa_cfg->vset_ids); + else if (starget->channel == 0) + clear_bit(starget->id, ioa_cfg->target_ids); + } } if (sata_port) {