OK, here's what I grok so far. stv_open calls stv_init calls stv_sndctrl with a command 0x88 and a message 'Vx' which is supposed to come back the same. stv_sndctrl calls usb_rcvctrlpipe then usb_control_msg. And the error that comes back is EPIPE (-32):

Aug 12 23:54:02 zero kernel: drivers/usb/media/stv680.c: [stv_sndctrl:216] STV(e): usb_control_msg error 0, request = 0x88, error = -32

But it's EPERM that gets returned to the user, which is misleading. I don't think that was the intention, because in stv_init the author wrote the return code as -1 the "generic error" indicator. But then stv_open just passes that back as its return code so the user gets tricked into thinking something is wrong with permissions when in fact they're not at fault.

Taking a break, gotta round up some more music. All I've ripped so far is my Joni Mitchell and Moody Blues "greatest hits" albums, and a few assorted karaoke numbers. I've got it playing 24 hours and getting kind of tired of the same songs over and over.

Back to blog or home page

last updated 2013-01-10 20:28:04. served from tektonic.jcomeau.com