linux/drivers/media/usb/em28xx
Frank Schaefer fb91bde9d3 [media] em28xx: check if a device has audio earlier"
GIT_AUTHOR_DATE=1409603039
This reverts

commit b99f0aadd3
Author: Mauro Carvalho Chehab <m.chehab@samsung.com>

    [media] em28xx: check if a device has audio earlier

    Better to split chipset detection from the audio setup. So, move the
    detection code to em28xx_init_dev().

It broke analog audio of the Hauppauge winTV HVR 900 and very likely many other
em28xx devices.

Background:
The local variable has_audio in em28xx_usb_probe() describes if the currently
probed _usb_interface_ has an audio endpoint, while dev->audio_mode.has_audio
means that the _device_ as a whole provides analog audio.
Hence it is wrong to set dev->audio_mode.has_audio = has_audio in em28xx_usb_probe().
As result, audio support is no longer detected and configured on devices which
have the audio endpoint on a separate interface, because em28xx_audio_setup()
bails out immediately at the beginning.

Revert the faulty commit to restore the old audio detection procedure, which checks
the chip configuration register to determine if the device has analog audio.

Cc: <stable@vger.kernel.org>	# 3.14 to 3.16
Reported-by: Oravecz Csaba <oravecz@nytud.mta.hu>
Tested-by: Oravecz Csaba <oravecz@nytud.mta.hu>
Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-23 16:13:35 -03:00
..
em28xx-audio.c [media] em28xx: move fields wq_trigger and streaming_started from struct em28xx to struct em28xx_audio 2014-05-23 13:44:42 -03:00
em28xx-camera.c [media] em28xx-v4l: simplify some pointers in em28xx_init_camera() 2014-07-26 16:42:28 -03:00
em28xx-cards.c [media] em28xx: check if a device has audio earlier" 2014-09-23 16:13:35 -03:00
em28xx-core.c [media] em28xx: check if a device has audio earlier" 2014-09-23 16:13:35 -03:00
em28xx-dvb.c [media] em28xx: convert tda18212 tuner to I2C client 2014-09-21 19:59:57 -03:00
em28xx-i2c.c [media] media: em28xx - fix i2c_xfer to return -ENODEV when dev is removed 2014-07-26 11:15:17 -03:00
em28xx-input.c [media] em28xx-input: i2c IR decoders: improve i2c_client handling 2014-09-22 17:29:06 -03:00
em28xx-reg.h [media] em28xx: fix I2S audio sample rate definitions and info output 2014-01-07 08:33:29 -02:00
em28xx-v4l.h [media] vb2: stop_streaming should return void 2014-04-23 10:12:51 -03:00
em28xx-vbi.c [media] em28xx: Get rid of some unused modprobe parameters at vbi code 2014-09-21 21:06:44 -03:00
em28xx-video.c [media] em28xx: use true/false for boolean vars 2014-09-03 17:59:13 -03:00
em28xx.h [media] em28xx-v4l: get rid of field "users" in struct em28xx_v4l2 2014-07-26 16:45:14 -03:00
Kconfig [media] em28xx: add [2013:025f] PCTV tripleStick (292e) 2014-04-23 09:51:31 -03:00
Makefile [media] em28xx: make em28xx-video to be a separate module 2014-01-07 05:09:26 -02:00