[PATCH v4 0/3] cdrom: gdrom: fix block I/O and capacity setting

Florian Fuchs posted 3 patches 1 week, 2 days ago
drivers/cdrom/gdrom.c | 61 ++++++++++++++++++++++++++++++++++++++++---
1 file changed, 57 insertions(+), 4 deletions(-)
[PATCH v4 0/3] cdrom: gdrom: fix block I/O and capacity setting
Posted by Florian Fuchs 1 week, 2 days ago
Hi all,

This series fixes a gdrom driver Oops due to bad MMIO register access and
fixes the missing updates of the block layer gendisk capacity that
prevented ISO9660 mounts from working. It fixes also the case of disc
swapping by sending the Test Unit command prior to cdrom_open().

The change was tested on real Sega Dreamcast devices (PAL-E, NTSC-J,
NTSC-U) with physical CD-R discs and with GDEMU emulated discs. Before:
Oops on mount and an unusable drive. After: Successfully able to mount
and use the inserted medium.

Thanks,
Florian
---
v3->v4: Simplified condition in "cdrom: gdrom: update gendisk capacity
	on open" according to review feedback. Sort trailers correctly.
v2->v3: Added patch "cdrom: gdrom: verify device access after disc swap"
        from Artur Rojek to also handle the disc swap case reliably. And
        added Acked-by, Reviewed-by from v2 to the respective patches.
        Also handle the GDROM case in gdrom_update_capacity().
v1->v2: for "cdrom: gdrom: replace port I/O with MMIO accessors": Don't
        use helper functions with io.*_rep(), but writesw() and readsw()
        local in the respective functions. Improved failure case of
        gdrom_update_capacity() in gdrom_bdops_open().

v3: https://lore.kernel.org/linux-sh/20260423194132.693271-1-fuchsfl@gmail.com/
v2: https://lore.kernel.org/linux-sh/20260419162823.2829286-1-fuchsfl@gmail.com/
v1: https://lore.kernel.org/linux-sh/20260405082330.4104672-1-fuchsfl@gmail.com/

Artur Rojek (1):
  cdrom: gdrom: verify device access after disc swap

Florian Fuchs (2):
  cdrom: gdrom: replace port I/O with MMIO accessors
  cdrom: gdrom: update gendisk capacity on open

 drivers/cdrom/gdrom.c | 61 ++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 57 insertions(+), 4 deletions(-)


base-commit: 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f
-- 
2.43.0