mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Skip over a few sectors on audio sector read error in Plextor drives as sometimes it's a firmware bug with their cache.
This commit is contained in:
@@ -223,8 +223,18 @@ namespace Aaru.Core.Devices.Dumping
|
||||
if(_supportsPlextorD8 && audioExtents.Contains(badSector))
|
||||
{
|
||||
sense = _dev.PlextorReadCdDa(out cmdBuf, out senseBuf, badSectorToReRead, blockSize,
|
||||
sectorsToReRead, supportedPlextorSubchannel, _dev.Timeout,
|
||||
out cmdDuration);
|
||||
sectorsToReRead, supportedPlextorSubchannel, 0, out cmdDuration);
|
||||
|
||||
if(sense)
|
||||
{
|
||||
// As a workaround for some firmware bugs, seek far away.
|
||||
_dev.PlextorReadCdDa(out _, out _, badSectorToReRead - 32, blockSize, sectorsToReRead,
|
||||
supportedPlextorSubchannel, 0, out _);
|
||||
|
||||
sense = _dev.PlextorReadCdDa(out cmdBuf, out senseBuf, badSectorToReRead, blockSize,
|
||||
sectorsToReRead, supportedPlextorSubchannel, _dev.Timeout,
|
||||
out cmdDuration);
|
||||
}
|
||||
|
||||
totalDuration += cmdDuration;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user