Skip to content

floppy: select FDC before arming timeout work#794

Open
blktests-ci[bot] wants to merge 1 commit intolinus-master_basefrom
series/1089071=>linus-master
Open

floppy: select FDC before arming timeout work#794
blktests-ci[bot] wants to merge 1 commit intolinus-master_basefrom
series/1089071=>linus-master

Conversation

@blktests-ci
Copy link
Copy Markdown

@blktests-ci blktests-ci Bot commented May 4, 2026

Pull request for series with
subject: floppy: select FDC before arming timeout work
version: 1
url: https://patchwork.kernel.org/project/linux-block/list/?series=1089071

@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented May 4, 2026

Upstream branch: 66edb90
series: https://patchwork.kernel.org/project/linux-block/list/?series=1089071
version: 1

@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented May 4, 2026

Upstream branch: 6d35786
series: https://patchwork.kernel.org/project/linux-block/list/?series=1089071
version: 1

@blktests-ci blktests-ci Bot force-pushed the series/1089071=>linus-master branch from a9fdbdb to 42fb4e8 Compare May 4, 2026 11:04
@blktests-ci blktests-ci Bot force-pushed the linus-master_base branch from 6f75bd1 to 1f0d33a Compare May 5, 2026 15:39
floppy_shutdown() uses current_fdc to choose which controller state
to mark for reset when fd_timeout expires. lock_fdc() currently arms
that timeout before set_fdc() has selected the drive/FDC and updated
current_drive/current_fdc.

drive_params[drive].timeout is user configurable, so the timeout
can be immediate. Even with a non-zero timeout, a delayed caller can
leave the timeout work running while set_fdc() is still testing
fdc_state[fdc].rawcmd and updating the adjacent reset bitfield. The
timeout can then use stale selected-controller state or race the reset
bitfield update.

Move the timeout arm after set_fdc() in lock_fdc(), and keep the
same ordering for the direct floppy_queue_rq() path. This ensures
fd_timeout cannot run until the selected-controller state describes
the operation being timed.

Fixes: 1da177e ("Linux-2.6.12-rc2")
Signed-off-by: Cen Zhang <zzzccc427@gmail.com>
Reviewed-by: Denis Efremov (Oracle) <efremov@linux.com>
@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented May 5, 2026

Upstream branch: 6d35786
series: https://patchwork.kernel.org/project/linux-block/list/?series=1089071
version: 1

@blktests-ci blktests-ci Bot force-pushed the series/1089071=>linus-master branch from 42fb4e8 to 4e2d5c3 Compare May 5, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants