Re: disfunctional floppy driver in kernels 4.5, 4.6 and 4.7

From: Jiri Kosina
Date: Mon Jun 13 2016 - 08:15:26 EST


On Sat, 11 Jun 2016, Wim Osterholt wrote:

>
> up to vanilla kernel 4.4.13 floppy functionality performs like it should.
> (On an x86 PC that is. With a 1.44MB diskette drive.)
> >From kernel 4.5* and up it changed to barely usable.
>
> After a virgin start (cold or warm boot) with an empty diskette drive and
> then loaded with a standard 720K diskette you may run 'mdir' (from mtools)
> and it shows the directory fine.
> The first time you load a standard 1.44MB diskette (wether it is a virgin
> start or after a 720K disktette) and you run mdir, it says literally:
>
> plain_io: Input/output error
> init A: could not read boot sector
> Cannot initialize 'A:'
>
> After this, all subsequent runs of mdir will do fine on both floppies.
> However, most of my floppies are in a different format. (1.6MB)
> I rely on 'setfdprm' (from fdutils) to set the correct parameters.
>
> setfdprm /dev/fd0 1600/1440
> /dev/fd0: Invalid argument
>
> Strace shows me:
> ...
> open(/dev/fd0, O_ACCMODE) = -1
>
> So this actually means that 'invalid argument' refers to O_ACCMODE.

Hmm, could you please test with 09954bad448 reverted? (although I don't
really have a good explanation currently how it'd be causing what you are
observing).

Thanks,

--
Jiri Kosina
SUSE Labs