Re: [PATCH RFC] [media] gspca-ov534: don't call sd_start() from sd_init()

2013-08-10 Thread Yaroslav Zakharuk

Hi Antonio,

Let me know if the change below alone is enough and the webcam keeps working,
a test with suspend and resume would good to have too.
I've tested your patch with the latest kernel (3.11.0-rc4) - the webcam 
works OK.  After suspend and resume, the webcam works OK too.


--
Bye, Yaroslav

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Regression 3.5-3.6, bisected] gspca_ov534: kernel oops when connecting Hercules Blog Webcam

2013-07-29 Thread Yaroslav Zakharuk

Hi!

After update from 3.5 kernel to newer version I got kernel oops when I 
connect my Hercules Blog Webcam. The full error stacktrace is at the end 
of this e-mail.


Commit bisect revealed the regression at:
-
1bd7d6adc691993206cf7dd69f1aaf8dccb06677 is the first bad commit
commit 1bd7d6adc691993206cf7dd69f1aaf8dccb06677
Author: Antonio Ospite ospite@
Date: Wed May 16 18:42:46 2012 -0300

[media] gspca_ov534: Convert to the control framework

Signed-off-by: Antonio Ospite ospite@
Signed-off-by: Hans de Goede hdegoede@
Signed-off-by: Mauro Carvalho Chehab mchehab@

:04 04 81bb6d86a59d2fca15fea4d43a8abe34354cf69e 
6b7c2077ae5d8bdea32864841b5cd14149c6a44a M drivers

-

I also try to change the gspca_ov534 module source (ov534.c) from the 
3.8 kernel and added some additional null checks in sd_start function 
and add the extensive logging to it. With those changes my webcam is 
working OK. As far as I can see, sd_start function is called couple of 
times, but when it is called the first time (when a usb cable was 
inserted), sd struct is almost empty and without null check this leads 
to kernel oops. Here is the part of test version log when sd_start was 
called first time:


sd_start: NO sd-hue!
sd_start: NO sd-saturation!
sd_start: NO sd-autogain!
sd_start: NO sd-autowhitebalance!
sd_start: NO sd-autoexposure!
sd_start: NO sd-gain!
sd_start: NO sd-exposure!
sd_start: NO sd-brightness!
sd_start: NO sd-contrast!
sd_start: NO sd-sharpness!
sd_start: NO sd-hflip and sd-vflip!
sd_start: NO sd-plfreq!

Additional info can be found here: 
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1173723/



Here is the error stacktrace:
kernel: [   52.679705] usb 3-2: new high-speed USB device number 2 using 
xhci_hcd
kernel: [   52.697906] usb 3-2: New USB device found, idVendor=06f8, 
idProduct=3002
kernel: [   52.697910] usb 3-2: New USB device strings: Mfr=1, 
Product=2, SerialNumber=0

kernel: [   52.697912] usb 3-2: Product: Hercules Blog Microphone
kernel: [   52.697914] usb 3-2: Manufacturer: Hercules Blog Webcam
kernel: [   52.708983] Linux video capture interface: v2.00
kernel: [   52.710778] gspca_main: v2.14.0 registered
kernel: [   52.712210] gspca_main: ov534-2.14.0 probing 06f8:3002
kernel: [   55.506311] BUG: unable to handle kernel NULL pointer 
dereference at 0050
kernel: [   55.506367] IP: [a03c1b01] 
v4l2_ctrl_g_ctrl+0x11/0x60 [videodev]

kernel: [   55.506414] PGD 0
kernel: [   55.506429] Oops:  [#1] SMP
kernel: [   55.506453] Modules linked in: gspca_ov534(+) gspca_main 
videodev rfcomm bnep ppdev bluetooth binfmt_misc snd_hda_codec_hdmi 
snd_hda_codec_realtek stir4200 irda crc_ccitt usblp snd_hda_intel 
snd_hda_codec snd_hwdep snd_pcm hid_generic snd_page_alloc snd_seq_midi 
snd_seq_midi_event usbhid snd_rawmidi snd_seq snd_seq_device snd_timer 
hid i915 snd psmouse drm_kms_helper serio_raw mei_me drm mei soundcore 
video i2c_algo_bit lpc_ich mac_hid coretemp lp parport firewire_ohci 
firewire_core crc_itu_t ahci libahci alx mdio r8169 mii [last unloaded: 
parport_pc]
kernel: [   55.506819] CPU: 3 PID: 4352 Comm: modprobe Not tainted 
3.11.0-031100rc2-generic #201307211535
kernel: [   55.506864] Hardware name: Gigabyte Technology Co., Ltd. To 
be filled by O.E.M./Z77-DS3H, BIOS F9 09/19/2012
kernel: [   55.506913] task: 8801c20f9770 ti: 8801ceaa 
task.ti: 8801ceaa
kernel: [   55.506952] RIP: 0010:[a03c1b01] 
[a03c1b01] v4l2_ctrl_g_ctrl+0x11/0x60 [videodev]

kernel: [   55.507005] RSP: 0018:8801ceaa1af8  EFLAGS: 00010292
kernel: [   55.507033] RAX: 0001 RBX:  RCX: 
0001988b
kernel: [   55.507069] RDX: 0001988a RSI: a032745a RDI: 

kernel: [   55.507106] RBP: 8801ceaa1b28 R08: 00017380 R09: 
ea0008419d80
kernel: [   55.507142] R10: 81538f5a R11: 0002 R12: 
a03273dc
kernel: [   55.507178] R13: a03273dc R14:  R15: 
a03270a0
kernel: [   55.507215] FS:  7f72d564a740() 
GS:88021f38() knlGS:

kernel: [   55.507256] CS:  0010 DS:  ES:  CR0: 80050033
kernel: [   55.507286] CR2: 0050 CR3: 0001bd1f CR4: 
001407e0

kernel: [   55.507323] Stack:
kernel: [   55.507335]  8801ceaa1b28 a0325cff 
880101f4 8801ceb44000
kernel: [   55.507380]  a03273dc 8801ceb44000 
8801ceaa1b58 a032688e
kernel: [   55.507426]  8801ceb44000 a03274f0 
a03274f0 8801ceb44380

kernel: [   55.507471] Call Trace:
kernel: [   55.507490]  [a0325cff] ? sccb_w_array+0x3f/0x80 
[gspca_ov534]
kernel: [   55.507527]  [a032688e] sd_start+0xce/0x2b0 
[gspca_ov534]
kernel: [   55.507561]  [a0326bf9] sd_init+0x189/0x1e8 
[gspca_ov534]
kernel: [