return is_exposed;
}
-static void aac_resolve_luns(struct aac_dev *dev)
+static int aac_update_safw_host_devices(struct aac_dev *dev, int rescan)
{
int i;
- int bus, target;
+ int bus;
+ int target;
int is_exposed = 0;
+ int rcode = 0;
+
+ rcode = aac_setup_safw_adapter(dev, rescan);
+ if (unlikely(rcode < 0)) {
+ goto out;
+ }
for (i = 0; i < AAC_BUS_TARGET_LOOP; i++) {
is_exposed)
aac_remove_safw_device(dev, bus, target);
}
+out:
+ return rcode;
}
/**
case SA_AIF_LDEV_CHANGE:
case SA_AIF_BPCFG_CHANGE:
- aac_setup_safw_adapter(dev, AAC_RESCAN);
-
- aac_resolve_luns(dev);
+ aac_update_safw_host_devices(dev, AAC_RESCAN);
break;
case SA_AIF_BPSTAT_CHANGE: