Commit 9c4c5a24 authored by Denis Efremov's avatar Denis Efremov

floppy: add FD_AUTODETECT_SIZE define for struct floppy_drive_params

Use FD_AUTODETECT_SIZE for autodetect buffer size in struct
floppy_drive_params instead of a magic number.

Link: https://lore.kernel.org/r/20200501134416.72248-3-efremov@linux.comReviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarDenis Efremov <efremov@linux.com>
parent 29ac6763
...@@ -2073,7 +2073,8 @@ static int next_valid_format(int drive) ...@@ -2073,7 +2073,8 @@ static int next_valid_format(int drive)
probed_format = drive_state[drive].probed_format; probed_format = drive_state[drive].probed_format;
while (1) { while (1) {
if (probed_format >= 8 || !drive_params[drive].autodetect[probed_format]) { if (probed_format >= FD_AUTODETECT_SIZE ||
!drive_params[drive].autodetect[probed_format]) {
drive_state[drive].probed_format = 0; drive_state[drive].probed_format = 0;
return 1; return 1;
} }
...@@ -3442,13 +3443,13 @@ static int fd_getgeo(struct block_device *bdev, struct hd_geometry *geo) ...@@ -3442,13 +3443,13 @@ static int fd_getgeo(struct block_device *bdev, struct hd_geometry *geo)
return 0; return 0;
} }
static bool valid_floppy_drive_params(const short autodetect[8], static bool valid_floppy_drive_params(const short autodetect[FD_AUTODETECT_SIZE],
int native_format) int native_format)
{ {
size_t floppy_type_size = ARRAY_SIZE(floppy_type); size_t floppy_type_size = ARRAY_SIZE(floppy_type);
size_t i = 0; size_t i = 0;
for (i = 0; i < 8; ++i) { for (i = 0; i < FD_AUTODETECT_SIZE; ++i) {
if (autodetect[i] < 0 || if (autodetect[i] < 0 ||
autodetect[i] >= floppy_type_size) autodetect[i] >= floppy_type_size)
return false; return false;
...@@ -3673,7 +3674,7 @@ struct compat_floppy_drive_params { ...@@ -3673,7 +3674,7 @@ struct compat_floppy_drive_params {
struct floppy_max_errors max_errors; struct floppy_max_errors max_errors;
char flags; char flags;
char read_track; char read_track;
short autodetect[8]; short autodetect[FD_AUTODETECT_SIZE];
compat_int_t checkfreq; compat_int_t checkfreq;
compat_int_t native_format; compat_int_t native_format;
}; };
......
...@@ -172,7 +172,10 @@ struct floppy_drive_params { ...@@ -172,7 +172,10 @@ struct floppy_drive_params {
* used in succession to try to read the disk. If the FDC cannot lock onto * used in succession to try to read the disk. If the FDC cannot lock onto
* the disk, the next format is tried. This uses the variable 'probing'. * the disk, the next format is tried. This uses the variable 'probing'.
*/ */
short autodetect[8]; /* autodetected formats */
#define FD_AUTODETECT_SIZE 8
short autodetect[FD_AUTODETECT_SIZE]; /* autodetected formats */
int checkfreq; /* how often should the drive be checked for disk int checkfreq; /* how often should the drive be checked for disk
* changes */ * changes */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment