Amidst all the noise here, I thought it might be good to summarize some things and perhaps get them confirmed.
Affected distros:
* Ubuntu
* Antergos
and if the kernel bug attached is the same as this one:
* Arch
* Fedora
Note: every distro with the right kernel has the potential for the problem, even though they do not display the symptoms. They may have turned it off, but the problem lies waiting in the kernel, not unlike some recessive genetic disease.
The kernels:
* 4.10 is ok
* highest version is in zesty-proposed: 4.10.0-43.47
* 4.11-4.13.0-17 is not ok
* highest version is in artful main: 4.13.0-22.25
* 4.13.0-21.24 avoids creating the problem by refusing to compile the kernel with CONFIG_SPI_INTEL_SPI_PLATFORM set
* highest version is in artful-proposed: 4.13.0-22.25
* bionic main is still 4.13.0-17.20!
* 4.14.9 Ubuntu mainline fixes the problem, it seems
* this includes the following relevant commits:
* don't touch SPI-NOR write protection bit d9018976cdb6eefc62a7ba79a405f6c9661b08a7 (see kernel bug report)
* this is for the LPC bridge of the Intel I/O Controller hub (southbridge) which provides access to, e.g. BIOS ROM
* note this only seems to affect Intel Haswell and Broadwell, see drivers/mfd/lpc_ich.c for PCI IDs
* off-by-one fix 9d63f17661e25fd28714dac94bdebc4ff5b75f09
* this DOES NOT include the kernel compilation config change found in 4.13.0-21.24
* for some reason this doesn't work for everyone, so perhaps there's another issue at play
Affected serial flash devices by manufacturer part number, JEDEC ID (SPI_NOR_HAS_LOCK set in drivers/mtd/spi-nor/spi-nor.c)
/* ESMT */
f25l32pa, 0x8c2016
f25l32qa, 0x8c4116
f25l64qa, 0x8c4117
/* GigaDevice */
gd25q16, 0xc84015
gd25q32, 0xc84016
gd25lq32, 0xc86016
gd25q64, 0xc84017
gd25lq64c, 0xc86017
gd25q128, 0xc84018
gd25q256, 0xc84019
/* Winbond */
w25q16dw, 0xef6015
w25q32dw, 0xef6016
w25q64dw, 0xef6017
w25q128fw, 0xef6018
Note: considering the author of intel-spi the device driver feels that these are the problem children, based on a characteristic they have, the fact that there's Insyde BIOS or not probably has no bearing on whether or not a device is affected.
Finally, a question: any way to figure out the JEDEC ID of the serial flash without having to load the module?
Amidst all the noise here, I thought it might be good to summarize some things and perhaps get them confirmed.
Affected distros:
* Ubuntu
* Antergos
and if the kernel bug attached is the same as this one:
* Arch
* Fedora
Note: every distro with the right kernel has the potential for the problem, even though they do not display the symptoms. They may have turned it off, but the problem lies waiting in the kernel, not unlike some recessive genetic disease.
The kernels: SPI_INTEL_ SPI_PLATFORM set c62a7ba79a405f6 c9661b08a7 (see kernel bug report) mfd/lpc_ ich.c for PCI IDs 28714dac94bdebc 4ff5b75f09
* 4.10 is ok
* highest version is in zesty-proposed: 4.10.0-43.47
* 4.11-4.13.0-17 is not ok
* highest version is in artful main: 4.13.0-22.25
* 4.13.0-21.24 avoids creating the problem by refusing to compile the kernel with CONFIG_
* highest version is in artful-proposed: 4.13.0-22.25
* bionic main is still 4.13.0-17.20!
* 4.14.9 Ubuntu mainline fixes the problem, it seems
* this includes the following relevant commits:
* don't touch SPI-NOR write protection bit d9018976cdb6eef
* this is for the LPC bridge of the Intel I/O Controller hub (southbridge) which provides access to, e.g. BIOS ROM
* note this only seems to affect Intel Haswell and Broadwell, see drivers/
* off-by-one fix 9d63f17661e25fd
* this DOES NOT include the kernel compilation config change found in 4.13.0-21.24
* for some reason this doesn't work for everyone, so perhaps there's another issue at play
Affected serial flash devices by manufacturer part number, JEDEC ID (SPI_NOR_HAS_LOCK set in drivers/ mtd/spi- nor/spi- nor.c)
/* ESMT */
f25l32pa, 0x8c2016
f25l32qa, 0x8c4116
f25l64qa, 0x8c4117
/* GigaDevice */
gd25q16, 0xc84015
gd25q32, 0xc84016
gd25lq32, 0xc86016
gd25q64, 0xc84017
gd25lq64c, 0xc86017
gd25q128, 0xc84018
gd25q256, 0xc84019
/* Winbond */
w25q16dw, 0xef6015
w25q32dw, 0xef6016
w25q64dw, 0xef6017
w25q128fw, 0xef6018
Note: considering the author of intel-spi the device driver feels that these are the problem children, based on a characteristic they have, the fact that there's Insyde BIOS or not probably has no bearing on whether or not a device is affected.
Finally, a question: any way to figure out the JEDEC ID of the serial flash without having to load the module?