linux/drivers/media/usb/dvb-usb
Mauro Carvalho Chehab c4018fa2e4 [media] dib0700: fix RC support on Hauppauge Nova-TD
The RC support o Nova-TD is broken, as the RC endpoint there
is an interrupt endpoint.

That produces an ugly calltrace at the Kernel logs:

	WARNING: CPU: 2 PID: 56 at drivers/usb/core/urb.c:450 usb_submit_urb+0x1fd/0x5c0()
	usb 1-1.2: BOGUS urb xfer, pipe 3 != type 1
	Modules linked in: rc_dib0700_rc5(OF) dvb_usb_dib0700(OF) dib9000(OF) dib8000(OF) dib7000m(OF) dib0090(OF) dib0070(OF) dib7000p(OF) dib3000mc(OF) dibx000_common(OF) dvb_usb(OF) rc_core(OF) snd_usb_audio snd_usbmidi_lib snd_hwdep snd_rawmidi snd_seq snd_seq_device snd_pcm snd_timer snd soundcore bnep bluetooth 6lowpan_iphc rfkill au0828(OF) xc5000(OF) au8522_dig(OF) au8522_common(OF) tveeprom(OF) dvb_core(OF) nouveau i915 mxm_wmi ttm i2c_algo_bit drm_kms_helper drm r8169 mii i2c_core video wmi [last unloaded: au0828]
	CPU: 2 PID: 56 Comm: khubd Tainted: GF          O 3.14.2-200.fc20.x86_64 
	Hardware name: SAMSUNG ELECTRONICS CO., LTD. 550P5C/550P7C/SAMSUNG_NP1234567890, BIOS P05ABI.016.130917.dg 09/17/2013
	 0000000000000000 00000000610866bc ffff880223703860 ffffffff816eec92
	 ffff8802237038a8 ffff880223703898 ffffffff8108a1bd ffff8800916a2180
	 ffff8801d5b16000 0000000000000003 0000000000000003 0000000000000020
	Call Trace:
	 [<ffffffff816eec92>] dump_stack+0x45/0x56
	 [<ffffffff8108a1bd>] warn_slowpath_common+0x7d/0xa0
	 [<ffffffff8108a23c>] warn_slowpath_fmt+0x5c/0x80
	 [<ffffffff814e3ebd>] usb_submit_urb+0x1fd/0x5c0
	 [<ffffffffa0445925>] dib0700_rc_setup+0xb5/0x120 [dvb_usb_dib0700]
	 [<ffffffffa0445a58>] dib0700_probe+0xc8/0x130 [dvb_usb_dib0700]
	...

Fix it by detecting if the endpoint is bulk or interrupt.

Tested with both Hauppauge Nova-TD model 52009 (interrupt) and with a
		 Prolink Pixelview SBTVD model PV-D231U (bulk).

Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-25 17:44:19 -03:00
..
a800.c
af9005-fe.c
af9005-remote.c
af9005-script.h
af9005.c
af9005.h
az6027.c [media] az6027: Added the PID for a new revision of the Elgato EyeTV Sat DVB-S Tuner 2014-05-25 15:49:35 -03:00
az6027.h
cinergyT2-core.c
cinergyT2-fe.c
cinergyT2.h
cxusb.c [media] cxusb: unlock on error in cxusb_i2c_xfer() 2013-12-10 15:37:06 -02:00
cxusb.h
dib07x0.h
dib0700_core.c [media] dib0700: fix RC support on Hauppauge Nova-TD 2014-05-25 17:44:19 -03:00
dib0700_devices.c [media] dib0700: fix RC support on Hauppauge Nova-TD 2014-05-25 17:44:19 -03:00
dib0700.h [media] dib0700: fix RC support on Hauppauge Nova-TD 2014-05-25 17:44:19 -03:00
dibusb-common.c [media] dibusb-common: Don't use dynamic static allocation 2013-11-08 09:45:44 -02:00
dibusb-mb.c
dibusb-mc.c
dibusb.h
digitv.c
digitv.h
dtt200u-fe.c
dtt200u.c
dtt200u.h
dtv5100.c
dtv5100.h
dvb-usb-common.h
dvb-usb-dvb.c
dvb-usb-firmware.c
dvb-usb-i2c.c
dvb-usb-init.c
dvb-usb-remote.c [media] rc: abstract access to allowed/enabled protocols 2014-03-11 13:24:39 -03:00
dvb-usb-urb.c
dvb-usb.h
dw2102.c [media] dw2102: some missing unlocks on error 2013-12-10 15:37:31 -02:00
dw2102.h
friio-fe.c
friio.c
friio.h
gp8psk-fe.c
gp8psk.c
gp8psk.h
Kconfig
m920x.c
m920x.h
Makefile
nova-t-usb2.c
opera1.c
pctv452e.c
technisat-usb2.c [media] technisat-usb2: rename led enums to be specific to driver 2014-05-23 19:47:43 -03:00
ttusb2.c
ttusb2.h
umt-010.c
usb-urb.c
vp702x-fe.c
vp702x.c
vp702x.h
vp7045-fe.c
vp7045.c
vp7045.h