From eb4cea4d252942ef74ab54a39ce587125203f3f9 Mon Sep 17 00:00:00 2001 From: "Rajashekhara, Mahesh" Date: Mon, 10 May 2010 04:29:25 -0700 Subject: [PATCH] --- yaml --- r: 195719 b: refs/heads/master c: 9cccde93fed1ca988eb2fb17ab9194bf7b5ed1b0 h: refs/heads/master i: 195717: ea08099369190e38f137184a2f345d2f071f9559 195715: 4bb22b33214b211fe4b6ccf37d3a8fc0bd559e6f 195711: ddded08b9eca133283af45ed4d9ebaaa9d8152cb v: v3 --- [refs] | 2 +- trunk/drivers/scsi/aacraid/aacraid.h | 4 +++- trunk/drivers/scsi/aacraid/commsup.c | 8 ++++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 8d1ce6653be4..d915e8c8ca0d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: da3cc679b247a22efe0746d129074015b278e64d +refs/heads/master: 9cccde93fed1ca988eb2fb17ab9194bf7b5ed1b0 diff --git a/trunk/drivers/scsi/aacraid/aacraid.h b/trunk/drivers/scsi/aacraid/aacraid.h index 9f985267c30f..4dbcc055ac78 100644 --- a/trunk/drivers/scsi/aacraid/aacraid.h +++ b/trunk/drivers/scsi/aacraid/aacraid.h @@ -12,7 +12,7 @@ *----------------------------------------------------------------------------*/ #ifndef AAC_DRIVER_BUILD -# define AAC_DRIVER_BUILD 26000 +# define AAC_DRIVER_BUILD 26400 # define AAC_DRIVER_BRANCH "-ms" #endif #define MAXIMUM_NUM_CONTAINERS 32 @@ -26,6 +26,8 @@ #define AAC_MAX_HOSTPHYSMEMPAGES (0xfffff) #define AAC_MAX_32BIT_SGBCOUNT ((unsigned short)256) +#define AAC_DEBUG_INSTRUMENT_AIF_DELETE + /* * These macros convert from physical channels to virtual channels */ diff --git a/trunk/drivers/scsi/aacraid/commsup.c b/trunk/drivers/scsi/aacraid/commsup.c index 69692b050e3c..70079146e203 100644 --- a/trunk/drivers/scsi/aacraid/commsup.c +++ b/trunk/drivers/scsi/aacraid/commsup.c @@ -1133,6 +1133,9 @@ static void aac_handle_aif(struct aac_dev * dev, struct fib * fibptr) if (device) { switch (device_config_needed) { case DELETE: +#if (defined(AAC_DEBUG_INSTRUMENT_AIF_DELETE)) + scsi_remove_device(device); +#else if (scsi_device_online(device)) { scsi_device_set_state(device, SDEV_OFFLINE); sdev_printk(KERN_INFO, device, @@ -1141,6 +1144,7 @@ static void aac_handle_aif(struct aac_dev * dev, struct fib * fibptr) "array deleted" : "enclosure services event"); } +#endif break; case ADD: if (!scsi_device_online(device)) { @@ -1155,12 +1159,16 @@ static void aac_handle_aif(struct aac_dev * dev, struct fib * fibptr) case CHANGE: if ((channel == CONTAINER_CHANNEL) && (!dev->fsa_dev[container].valid)) { +#if (defined(AAC_DEBUG_INSTRUMENT_AIF_DELETE)) + scsi_remove_device(device); +#else if (!scsi_device_online(device)) break; scsi_device_set_state(device, SDEV_OFFLINE); sdev_printk(KERN_INFO, device, "Device offlined - %s\n", "array failed"); +#endif break; } scsi_rescan_device(&device->sdev_gendev);