floppy: cleanup: make next_valid_format() not rely on current_drive anymore

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>
This commit is contained in:
Willy Tarreau 2020-03-31 11:40:51 +02:00 committed by Denis Efremov
parent c7af70b0fb
commit 43d81bb647

View 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);