Re: [PATCH 10/31] swim: Add track zero recalibration delay
Laurent Vivier <[email protected]> Mon, 20 Jul 2026 21:14:37 +0200
| Newsgroups | org.kernel.vger.linux-m68k,org.kernel.vger.linux-block,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Le 16/07/2026 =C3=A0 12:02, Finn Thain a =C3=A9crit=C2=A0:
> The UPD72070 spec indicates that the track zero sensor can take 3 ms
> to stabilize following a STEP command so add a call to msleep().
> Remove the duplicate swim_readbit() call as there's no need for that
> once the sensor signal has stabilized.
>=20
> Fixes: 8852ecd97488 ("m68k: mac - Add SWIM floppy support")
> Signed-off-by: Finn Thain <[email protected]>
> ---
> drivers/block/swim.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>=20
Reviewed-by: Laurent Vivier <[email protected]>
> diff --git a/drivers/block/swim.c b/drivers/block/swim.c
> index 76f6cfa68432..9755b86d4dd4 100644
> --- a/drivers/block/swim.c
> +++ b/drivers/block/swim.c
> @@ -402,16 +402,15 @@ static inline int swim_track00(struct swim __iomem=
*base)
> for (try =3D 0; try < 100; try++) {
> =20
> swim_select(base, RELAX);
> + msleep(3);
> +
> if (swim_readbit(base, TRACK_ZERO))
> - break;
> + return 0;
> =20
> if (swim_step(base))
> - return -1;
> + break;
> }
> =20
> - if (swim_readbit(base, TRACK_ZERO))
> - return 0;
> -
> pr_err("swim: track zero recalibration failed\n");
> return -1;
> }