Resending just this patch after making changes per Hannes comments. This patch introduces the match function for hp_sw device handler. Included the check for TPGS bit before proceeding further. The match function was introduced by this patch http://www.spinics.net/lists/linux-scsi/msg54284.html Signed-off-by: Babu Moger <babu.moger@xxxxxxxxxx> --- --- linux-d211858/drivers/scsi/device_handler/scsi_dh_hp_sw.c.orig 2011-11-02 14:17:29.000000000 -0500 +++ linux-d211858/drivers/scsi/device_handler/scsi_dh_hp_sw.c 2011-11-04 08:22:22.000000000 -0500 @@ -319,6 +319,24 @@ static const struct scsi_dh_devlist hp_s {NULL, NULL}, }; +static bool hp_sw_match(struct scsi_device *sdev) +{ + int i; + + if (scsi_device_tpgs(sdev)) + return false; + + for (i = 0; hp_sw_dh_data_list[i].vendor; i++) { + if (!strncmp(sdev->vendor, hp_sw_dh_data_list[i].vendor, + strlen(hp_sw_dh_data_list[i].vendor)) && + !strncmp(sdev->model, hp_sw_dh_data_list[i].model, + strlen(hp_sw_dh_data_list[i].model))) { + return true; + } + } + return false; +} + static int hp_sw_bus_attach(struct scsi_device *sdev); static void hp_sw_bus_detach(struct scsi_device *sdev); @@ -330,6 +348,7 @@ static struct scsi_device_handler hp_sw_ .detach = hp_sw_bus_detach, .activate = hp_sw_activate, .prep_fn = hp_sw_prep_fn, + .match = hp_sw_match, }; static int hp_sw_bus_attach(struct scsi_device *sdev) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel