ata fixes for 6.10-rc4
- Fix a bug where the SCSI Removable Media Bit (RMB) was incorrectly set
for hot-plug capable (and eSATA) ports. The RMB bit means that the
media is removable (e.g. floppy or CD-ROM), not that the device server
is removable. If the RMB bit is set, SCSI will set the removable media
sysfs attribute.
If the removable media sysfs attribute is set on a device, GNOME/udisks
will automatically mount the device on boot.
We only want to set the SCSI RMB bit (and thus the removable media
sysfs attribute) for devices where the ATA removable media device bit
is set.
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQRN+ES/c4tHlMch3DzJZDGjmcZNcgUCZm6u6AAKCRDJZDGjmcZN
cuyRAP42njwfV/t9IK6cAqUG15v4keX2AN9PDHvZNhn0QeJ7cwEA9bXu7OPjGsFk
1J6jWbxmgSNk0RC9HNXQ4wFlFz+JJgk=
=4VB1
-----END PGP SIGNATURE-----
Merge tag 'ata-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux
Pull ata fix from Niklas Cassel:
"Fix a bug where the SCSI Removable Media Bit (RMB) was incorrectly set
for hot-plug capable (and eSATA) ports.
The RMB bit means that the media is removable (e.g. floppy or CD-ROM),
not that the device server is removable. If the RMB bit is set, SCSI
will set the removable media sysfs attribute.
If the removable media sysfs attribute is set on a device,
GNOME/udisks will automatically mount the device on boot.
We only want to set the SCSI RMB bit (and thus the removable media
sysfs attribute) for devices where the ATA removable media device bit
is set"
* tag 'ata-6.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
ata: libata-scsi: Set the RMB bit only for removable media devices
pull/902/head
commit
e8b0264d6f
|
|
@ -1831,11 +1831,11 @@ static unsigned int ata_scsiop_inq_std(struct ata_scsi_args *args, u8 *rbuf)
|
|||
2
|
||||
};
|
||||
|
||||
/* set scsi removable (RMB) bit per ata bit, or if the
|
||||
* AHCI port says it's external (Hotplug-capable, eSATA).
|
||||
/*
|
||||
* Set the SCSI Removable Media Bit (RMB) if the ATA removable media
|
||||
* device bit (obsolete since ATA-8 ACS) is set.
|
||||
*/
|
||||
if (ata_id_removable(args->id) ||
|
||||
(args->dev->link->ap->pflags & ATA_PFLAG_EXTERNAL))
|
||||
if (ata_id_removable(args->id))
|
||||
hdr[1] |= (1 << 7);
|
||||
|
||||
if (args->dev->class == ATA_DEV_ZAC) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue