OSDN Git Service

floppy: cleanup: make next_valid_format() not rely on current_drive anymore
authorWilly Tarreau <w@1wt.eu>
Tue, 31 Mar 2020 09:40:51 +0000 (11:40 +0200)
committerDenis Efremov <efremov@linux.com>
Tue, 12 May 2020 16:34:55 +0000 (19:34 +0300)
Now the drive is passed in argument so that the function does not
use current_drive anymore.

Link: https://lore.kernel.org/r/20200331094054.24441-21-w@1wt.eu
Signed-off-by: Willy Tarreau <w@1wt.eu>
Signed-off-by: Denis Efremov <efremov@linux.com>
drivers/block/floppy.c

index b9a3a04..f53810b 100644 (file)
@@ -2058,18 +2058,18 @@ static void success_and_wakeup(void)
  * ==========================
  */
 
-static int next_valid_format(void)
+static int next_valid_format(int drive)
 {
        int probed_format;
 
-       probed_format = drive_state[current_drive].probed_format;
+       probed_format = drive_state[drive].probed_format;
        while (1) {
-               if (probed_format >= 8 || !drive_params[current_drive].autodetect[probed_format]) {
-                       drive_state[current_drive].probed_format = 0;
+               if (probed_format >= 8 || !drive_params[drive].autodetect[probed_format]) {
+                       drive_state[drive].probed_format = 0;
                        return 1;
                }
-               if (floppy_type[drive_params[current_drive].autodetect[probed_format]].sect) {
-                       drive_state[current_drive].probed_format = probed_format;
+               if (floppy_type[drive_params[drive].autodetect[probed_format]].sect) {
+                       drive_state[drive].probed_format = probed_format;
                        return 0;
                }
                probed_format++;
@@ -2082,7 +2082,7 @@ static void bad_flp_intr(void)
 
        if (probing) {
                drive_state[current_drive].probed_format++;
-               if (!next_valid_format())
+               if (!next_valid_format(current_drive))
                        return;
        }
        err_count = ++(*errors);
@@ -2884,7 +2884,7 @@ do_request:
        if (!_floppy) { /* Autodetection */
                if (!probing) {
                        drive_state[current_drive].probed_format = 0;
-                       if (next_valid_format()) {
+                       if (next_valid_format(current_drive)) {
                                DPRINT("no autodetectable formats\n");
                                _floppy = NULL;
                                request_done(0);