Hi, So with 17b49bcbf8351d3dbe57204468ac34f033ed60bc (upstream), scsi_mode_sense now returns -EINVAL if len < 8, yet in sd, the first mode sense attempted by sd_read_cache_type() is done with (first_)len being 4, which results in the failure of the attempt. Since the commit is merged into stable, my SATA drive (that has volatile write cache) is assumed to be a "write through" drive after I upgraded from 5.15.4 to 5.15.5, as libata sets use_10_for_ms to 1. Since sd does not (get to) determine which mode sense command to use, should scsi_mode_sense at least accept a special value 0 (which first_len would be set to), which is use to refers to the minimum len to use for mode sense 6 and 10 respectively (i.e. 4 or 8)? Regards, Tom