On Sun, Jul 23, 2023 at 03:03:14PM +0200, Niklas Cassel wrote: > From: Niklas Cassel <niklas.cassel@xxxxxxx> > > The condition to fetch sense data was supposed to be: > ATA_SENSE set AND either > 1) Command was NCQ and ATA_DFLAG_CDL_ENABLED flag set (flag > ATA_DFLAG_CDL_ENABLED will only be set if the Successful NCQ command > sense data supported bit is set); or > 2) Command was non-NCQ and regular sense data reporting is enabled. > > However the check in 2) accidentally had the negation at the wrong place, > causing it to try to fetch sense data if it was a non-NCQ command _or_ > if regular sense data reporting was _not_ enabled. > > Fix this by removing the extra parentheses that should not be there, > such that only the correct return (ata_is_ncq()) is negated. > > Fixes: 18bd7718b5c4 ("scsi: ata: libata: Handle completion of CDL commands using policy 0xD") > Reported-by: Borislav Petkov <bp@xxxxxxxxx> > Closes: https://lore.kernel.org/linux-ide/20230722155621.GIZLv8JbURKzHtKvQE@fat_crate.local/ > Signed-off-by: Niklas Cassel <niklas.cassel@xxxxxxx> > --- > drivers/ata/libata-core.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Looks good, thanks! Tested-by: Borislav Petkov (AMD) <bp@xxxxxxxxx> -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette