[media] videobuf-dvb: avoid spurious ENOMEM when CONFIG_DVB_NET=n
authorJonathan Nieder <jrnieder@gmail.com>
Sat, 31 Dec 2011 10:56:11 +0000 (07:56 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Fri, 6 Jan 2012 14:42:19 +0000 (12:42 -0200)
commit5c96ebb7cea790c6ca1b8b70fdea531fb194dabb
treea60bc1a9e368e49243127eb4b9bab4c8d98186ac
parent58fae6739f63344d255161900ba12ce7ceb88666
[media] videobuf-dvb: avoid spurious ENOMEM when CONFIG_DVB_NET=n

videobuf_dvb_register_bus relies on dvb_net_init to set dvbnet->dvbdev
on success, but ever since commit fcc8e7d8c0e2 ("dvb_net: Simplify the
code if DVB NET is not defined"), ->dvbdev is left unset when
networking support is disabled.  Therefore in such configurations
videobuf_dvb_register_bus always returns failure, tripping
little-tested error handling paths and preventing the device from
being initialized and used.

Now that dvb_net_init returns a nonzero value on error, we can use
that as a more reliable error indication.  Do so.

Now your card be used with CONFIG_DVB_NET=n, and the kernel will pass
on a more useful error code describing what happened when
CONFIG_DVB_NET=y but dvb_net_init fails due to resource exhaustion.

Reported-by: David Fries <David@Fries.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/videobuf-dvb.c