linux/drivers/media/pci/solo6x10
Andrey Utkin 5fc4b067ec [media] media: solo6x10: fix lockup by avoiding delayed register write
This fixes a lockup at device probing which happens on some solo6010
hardware samples. This is a regression introduced by commit e1ceb25a15
("[media] SOLO6x10: remove unneeded register locking and barriers")

The observed lockup happens in solo_set_motion_threshold() called from
solo_motion_config().

This extra "flushing" is not fundamentally needed for every write, but
apparently the code in driver assumes such behaviour at last in some
places.

Actual fix was proposed by Hans Verkuil.

Fixes: e1ceb25a15 ("[media] SOLO6x10: remove unneeded register locking and barriers")

Cc: stable@vger.kernel.org  # 4.3 and up
Signed-off-by: Andrey Utkin <andrey.utkin@corp.bluecherry.net>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-11-16 13:23:04 -02:00
..
Kconfig [media] be sure that HAS_DMA is enabled for vb2-dma-contig 2014-08-26 18:52:19 -03:00
Makefile
solo6x10-core.c [media] SOLO6x10: Remove dead code 2015-07-06 08:25:47 -03:00
solo6x10-disp.c [media] solo6x10: fix sparse warnings 2014-09-03 08:55:39 -03:00
solo6x10-eeprom.c [media] solo6x10: Fix solo_eeprom_read retval type 2015-01-27 10:03:00 -02:00
solo6x10-enc.c [media] solo6x10: s/unsigned char/u8/ 2015-01-27 10:02:07 -02:00
solo6x10-g723.c [media] pci: constify snd_pcm_ops structures 2016-09-19 16:18:42 -03:00
solo6x10-gpio.c
solo6x10-i2c.c
solo6x10-jpeg.h [media] solo6x10: s/unsigned char/u8/ 2015-01-27 10:02:07 -02:00
solo6x10-offsets.h
solo6x10-p2m.c
solo6x10-regs.h
solo6x10-tw28.c [media] solo6x10: s/uint8_t/u8/ 2015-01-27 10:03:19 -02:00
solo6x10-tw28.h
solo6x10-v4l2-enc.c [media] pci: constify vb2_ops structures 2016-09-19 16:21:42 -03:00
solo6x10-v4l2.c [media] solo6x10: don't break long lines 2016-10-21 09:17:25 -02:00
solo6x10.h [media] media: solo6x10: fix lockup by avoiding delayed register write 2016-11-16 13:23:04 -02:00