From: Rene Rebe Date: Fri, 14 Nov 2025 13:41:27 +0000 (+0100) Subject: floppy: fix for PAGE_SIZE != 4KB X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=82d20481024cbae2ea87fe8b86d12961bfda7169;p=thirdparty%2Flinux.git floppy: fix for PAGE_SIZE != 4KB For years I wondered why the floppy driver does not just work on sparc64, e.g: root@SUNW_375_0066:# disktype /dev/fd0 disktype: Can't open /dev/fd0: No such device or address [ 525.341906] disktype: attempt to access beyond end of device fd0: rw=0, sector=0, nr_sectors = 16 limit=8 [ 525.341991] floppy: error 10 while reading block 0 Turns out floppy.c __floppy_read_block_0 tries to read one page for the first test read to determine the disk size and thus fails if that is greater than 4k. Adjust minimum MAX_DISK_SIZE to PAGE_SIZE to fix floppy on sparc64 and likely all other PAGE_SIZE != 4KB configs. Cc: stable@vger.kernel.org Signed-off-by: René Rebe Signed-off-by: Jens Axboe --- diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index 5336c3c5ca362..c28786e0fe1c8 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -329,7 +329,7 @@ static bool initialized; * This default is used whenever the current disk size is unknown. * [Now it is rather a minimum] */ -#define MAX_DISK_SIZE 4 /* 3984 */ +#define MAX_DISK_SIZE (PAGE_SIZE / 1024) /* * globals used by 'result()'