H. Nikolaus Schaller
ecfaf0c42f
w1:omap_hdq: fix regression
...
Commit e93762bbf6 ("w1: masters: omap_hdq: add support for 1-wire
mode") added a statement to clear the hdq_irqstatus flags in
hdq_read_byte().
If the hdq reading process is scheduled slowly or interrupts are
disabled for a while the hardware read activity might already be
finished on entry of hdq_read_byte(). And hdq_isr() already has set the
hdq_irqstatus to 0x6 (can be seen in debug mode) denoting that both, the
TXCOMPLETE and RXCOMPLETE interrupts occurred in parallel.
This means there is no need to wait and the hdq_read_byte() can just
read the byte from the hdq controller.
By resetting hdq_irqstatus to 0 the read process is forced to be always
waiting again (because the if statement always succeeds) but the
hardware will not issue another RXCOMPLETE interrupt. This results in a
false timeout.
After such a situation the hdq bus hangs.
Link: http://lkml.kernel.org/r/b724765f87ad276a69625bc19806c8c8844c4590.1469513669.git.hns@goldelico.com
Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com>
Cc: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-08-02 19:35:40 -04:00
..
accessibility
acpi
treewide: replace obsolete _refok by __ref
2016-08-02 17:31:41 -04:00
amba
android
ata
New LED class driver:
2016-07-27 14:03:52 -07:00
atm
auxdisplay
base
firmware: support loading into a pre-allocated buffer
2016-08-02 19:35:10 -04:00
bcma
wireless-drivers-next patches for 4.8
2016-07-25 11:09:19 -07:00
block
dynamic_debug: only add header when used
2016-08-02 19:35:03 -04:00
bluetooth
bus
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
cdrom
char
Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux
2016-08-01 21:44:08 -04:00
clk
treewide: replace obsolete _refok by __ref
2016-08-02 17:31:41 -04:00
clocksource
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
connector
cpufreq
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
cpuidle
powerpc updates for 4.8 # 1
2016-07-30 21:01:36 -07:00
crypto
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-08-01 14:28:42 -04:00
dax
dca
devfreq
dio
dma
dmaengine updates for 4.8-rc1
2016-07-28 15:45:17 -07:00
dma-buf
edac
* Altera Arria10 ethernet FIFO buffer support (Thor Thayer)
2016-07-27 13:40:47 -07:00
eisa
extcon
firewire
firmware
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
fmc
fpga
gpio
This is the bulk of GPIO changes for the v4.8 kernel cycle.
2016-07-26 19:16:01 -07:00
gpu
Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux
2016-08-01 21:44:08 -04:00
hid
Merge branch 'for-4.8/hid-led' into for-linus
2016-07-28 10:49:23 +02:00
hsi
hv
hwmon
hwmon updates for v4.8 (take 2)
2016-08-01 16:49:13 -04:00
hwspinlock
hwtracing
Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-07-29 13:55:30 -07:00
i2c
powerpc updates for 4.8 # 1
2016-07-30 21:01:36 -07:00
ide
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide
2016-07-29 13:29:06 -07:00
idle
Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-07-30 12:56:26 -07:00
iio
infiniband
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2016-07-24 00:53:32 -04:00
input
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
iommu
IOMMU Updates for Linux v4.8
2016-08-01 07:25:10 -04:00
ipack
irqchip
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
isdn
leds
powerpc updates for 4.8 # 1
2016-07-30 21:01:36 -07:00
lguest
lightnvm
block: get rid of bio_rw and READA
2016-07-20 17:37:01 -06:00
macintosh
powerpc updates for 4.8 # 1
2016-07-30 21:01:36 -07:00
mailbox
mailbox: Fix format and type mismatches in Broadcom PDC driver
2016-07-28 21:27:31 +05:30
mcb
md
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
2016-07-28 18:04:39 -07:00
media
Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux
2016-08-01 21:44:08 -04:00
memory
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
memstick
memstick: don't allocate unused major for ms_block
2016-08-02 17:31:41 -04:00
message
mfd
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
misc
powerpc updates for 4.8 # 1
2016-07-30 21:01:36 -07:00
mmc
MMC core:
2016-07-31 21:36:58 -04:00
mtd
powerpc updates for 4.8 # 1
2016-07-30 21:01:36 -07:00
net
Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux
2016-08-01 21:44:08 -04:00
nfc
NFC 4.8 pull request
2016-07-20 23:39:36 -07:00
ntb
nubus
nvdimm
libnvdimm for 4.8
2016-07-28 17:38:16 -07:00
nvme
Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block
2016-07-26 15:37:51 -07:00
nvmem
of
powerpc updates for 4.8 # 1
2016-07-30 21:01:36 -07:00
oprofile
parisc
parport
pci
treewide: replace obsolete _refok by __ref
2016-08-02 17:31:41 -04:00
pcmcia
perf
Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-07-29 13:55:30 -07:00
phy
MMC core:
2016-07-31 21:36:58 -04:00
pinctrl
This is the bulk of pin control changes for the v4.8 kernel cycle.
2016-07-28 17:06:51 -07:00
platform
Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux
2016-08-01 21:44:08 -04:00
pnp
PNP material for v4.8-rc1
2016-07-26 18:27:20 -07:00
power
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
powercap
pps
pps: do not crash when failed to register
2016-07-23 10:25:54 +09:00
ps3
ptp
pwm
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
rapidio
rapidio/switches: add driver for IDT gen3 switches
2016-08-02 19:35:38 -04:00
ras
regulator
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
remoteproc
reset
rpmsg
rtc
s390
s390/zcrypt: fix possible memory leak in ap_module_init()
2016-07-31 06:10:41 -04:00
sbus
scsi
powerpc updates for 4.8 # 1
2016-07-30 21:01:36 -07:00
sfi
sh
sn
soc
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
spi
ARM: DT updates for v4.8
2016-08-01 18:37:45 -04:00
spmi
ssb
staging
Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux
2016-08-01 21:44:08 -04:00
target
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2016-07-27 12:03:20 -07:00
tc
thermal
thunderbolt
tty
ARM: SoC driver updates for v4.8
2016-08-01 18:36:01 -04:00
uio
usb
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2016-07-28 14:30:16 -07:00
uwb
vfio
vhost
video
fbdev/bfin_adv7393fb: move DRIVER_NAME before its first use
2016-08-02 19:35:05 -04:00
virt
virtio
mm: fix build warnings in <linux/compaction.h>
2016-07-26 16:19:19 -07:00
vlynq
vme
w1
w1:omap_hdq: fix regression
2016-08-02 19:35:40 -04:00
watchdog
watchdog: gpio_wdt: Fix missing platform_set_drvdata() in gpio_wdt_probe()
2016-07-27 10:47:43 +02:00
xen
xen: features and fixes for 4.8-rc0
2016-07-27 11:35:37 -07:00
zorro
Kconfig
Makefile
HSI changes for the v4.8 series
2016-07-27 15:18:53 -07:00