@@ -2303,17 +2303,23 @@ static void pqi_update_device_list(struct pqi_ctrl_info *ctrl_info,
2303
2303
* queue depth, device size.
2304
2304
*/
2305
2305
list_for_each_entry (device , & ctrl_info -> scsi_device_list , scsi_device_list_entry ) {
2306
+ /*
2307
+ * Check for queue depth change.
2308
+ */
2306
2309
if (device -> sdev && device -> queue_depth != device -> advertised_queue_depth ) {
2307
2310
device -> advertised_queue_depth = device -> queue_depth ;
2308
2311
scsi_change_queue_depth (device -> sdev , device -> advertised_queue_depth );
2309
- spin_lock_irqsave (& ctrl_info -> scsi_device_list_lock , flags );
2310
- if (pqi_volume_rescan_needed (device )) {
2311
- device -> rescan = false;
2312
- spin_unlock_irqrestore (& ctrl_info -> scsi_device_list_lock , flags );
2313
- scsi_rescan_device (device -> sdev );
2314
- } else {
2315
- spin_unlock_irqrestore (& ctrl_info -> scsi_device_list_lock , flags );
2316
- }
2312
+ }
2313
+ spin_lock_irqsave (& ctrl_info -> scsi_device_list_lock , flags );
2314
+ /*
2315
+ * Check for changes in the device, such as size.
2316
+ */
2317
+ if (pqi_volume_rescan_needed (device )) {
2318
+ device -> rescan = false;
2319
+ spin_unlock_irqrestore (& ctrl_info -> scsi_device_list_lock , flags );
2320
+ scsi_rescan_device (device -> sdev );
2321
+ } else {
2322
+ spin_unlock_irqrestore (& ctrl_info -> scsi_device_list_lock , flags );
2317
2323
}
2318
2324
}
2319
2325
0 commit comments