History log of /openbmc/linux/drivers/media/usb/em28xx/em28xx-video.c (Results 251 – 275 of 366)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# f0e38230 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move capture state tracking fields from struct em28xx to struct v4l2

Move some temporary capture tracking date to the em28xx_v4l2 struct,
as those info are used only by e

[media] em28xx: move capture state tracking fields from struct em28xx to struct v4l2

Move some temporary capture tracking date to the em28xx_v4l2 struct,
as those info are used only by em28xx v4l2 submodule.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# d7dc18da 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move sensor parameter fields from struct em28xx to struct v4l2

Move camera sensor resolution and xtal out of em28xx common struct,
as thore are used only by the em28xx v4

[media] em28xx: move sensor parameter fields from struct em28xx to struct v4l2

Move camera sensor resolution and xtal out of em28xx common struct,
as thore are used only by the em28xx v4l2 submodule.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 58159171 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move progressive/interlaced fields from struct em28xx to struct v4l2

The video progressive data fields belong to analog TV. Move them out
of the common em28xx struct.

[media] em28xx: move progressive/interlaced fields from struct em28xx to struct v4l2

The video progressive data fields belong to analog TV. Move them out
of the common em28xx struct.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 06e20672 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move struct em28xx_fmt *format from struct em28xx to struct v4l2

The analog format struct belongs to analog TV. Move it out of the
common em28xx struct.

Signed-o

[media] em28xx: move struct em28xx_fmt *format from struct em28xx to struct v4l2

The analog format struct belongs to analog TV. Move it out of the
common em28xx struct.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 52faaf78 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move TV norm from struct em28xx to struct v4l2

TV norm is specific to analog TV reception. move it out of the common
em28xx struct.

Signed-off-by: Frank Schäfer

[media] em28xx: move TV norm from struct em28xx to struct v4l2

TV norm is specific to analog TV reception. move it out of the common
em28xx struct.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 9297285e 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move vinmode and vinctrl data from struct em28xx to struct v4l2

The video input mode and control data also belong only to the
analog side. move them to struct em28xx_v4l.

[media] em28xx: move vinmode and vinctrl data from struct em28xx to struct v4l2

The video input mode and control data also belong only to the
analog side. move them to struct em28xx_v4l.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 753aee77 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move v4l2 frame resolutions and scale data from struct em28xx to struct v4l2

The em28xx scaler data are used only for analog video. Move them to
struct em28xx_v4l2.

[media] em28xx: move v4l2 frame resolutions and scale data from struct em28xx to struct v4l2

The em28xx scaler data are used only for analog video. Move them to
struct em28xx_v4l2.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 27a36df6 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move videobuf2 related data from struct em28xx to struct v4l2

The video and VBI-specific VB2 queue and mutexes are used only by
the v4l2 sub-driver. Move them to the V4L2

[media] em28xx: move videobuf2 related data from struct em28xx to struct v4l2

The video and VBI-specific VB2 queue and mutexes are used only by
the v4l2 sub-driver. Move them to the V4L2 struct, preventing
wasting memory if this sub-driver is not used.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# ef74a0b9 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move video_device structs from struct em28xx to struct v4l2

There are 3 struct video_device at the em28xx common struct,
for video, VBI and radio. They all are used only

[media] em28xx: move video_device structs from struct em28xx to struct v4l2

There are 3 struct video_device at the em28xx common struct,
for video, VBI and radio. They all are used only by the V4L2 driver.
So, move them to the v4l2-specific struct.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 2c52a2fc 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move struct v4l2_clk *clk from struct em28xx to struct v4l2

The current clock definition applies only to the V4L2 side of the
driver. Move its struct pointer to the v4l2_

[media] em28xx: move struct v4l2_clk *clk from struct em28xx to struct v4l2

The current clock definition applies only to the V4L2 side of the
driver. Move its struct pointer to the v4l2_dev, where it belongs.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# abc1308f 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move struct v4l2_ctrl_handler ctrl_handler from struct em28xx to struct v4l2

Controls are only applicable to V4L2 module. Move the corresponding
data structs to the prope

[media] em28xx: move struct v4l2_ctrl_handler ctrl_handler from struct em28xx to struct v4l2

Controls are only applicable to V4L2 module. Move the corresponding
data structs to the proper place.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 95d2608b 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: start moving em28xx-v4l specific data to its own struct

That reduces a little bit the memory footprint when em28xx-video
is not loaded.

Signed-off-by: Frank Schä

[media] em28xx: start moving em28xx-v4l specific data to its own struct

That reduces a little bit the memory footprint when em28xx-video
is not loaded.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# ad298055 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx-video: simplify usage of the pointer to struct v4l2_ctrl_handler in em28xx_v4l2_init()

The local var hdl is already pointing to &dev->ctrl_handler.
Use it, instead of dere

[media] em28xx-video: simplify usage of the pointer to struct v4l2_ctrl_handler in em28xx_v4l2_init()

The local var hdl is already pointing to &dev->ctrl_handler.
Use it, instead of dereferencing it all the time.

Code cleanup. No functional changes.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 25c61e4c 22-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: move norm_maxw() and norm_maxh() from em28xx.h to em28xx-video.c

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cis

[media] em28xx: move norm_maxw() and norm_maxh() from em28xx.h to em28xx-video.c

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# cba8e9b3 24-Mar-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: remove function em28xx_compression_disable() and its call

em28xx_compression_disable() is a single line function which is called only one
time and this call also isn't ne

[media] em28xx: remove function em28xx_compression_disable() and its call

em28xx_compression_disable() is a single line function which is called only one
time and this call also isn't needed.
Register 0x26 is always configured as part of the scaler configuration, which
in turn is always done when the resolution changes. And the initial resolution
setting is applied at first device open.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# e37559b2 17-Apr-2014 Hans Verkuil <hans.verkuil@cisco.com>

[media] vb2: stop_streaming should return void

The vb2 core ignores any return code from the stop_streaming op.
And there really isn't anything it can do anyway in case of an error.

[media] vb2: stop_streaming should return void

The vb2 core ignores any return code from the stop_streaming op.
And there really isn't anything it can do anyway in case of an error.
So change the return type to void and update any drivers that implement it.

The int return gave drivers the idea that this operation could actually
fail, but that's really not the case.

The pwc amd sdr-msi3101 drivers both had this construction:

if (mutex_lock_interruptible(&s->v4l2_lock))
return -ERESTARTSYS;

This has been updated to just call mutex_lock(). The stop_streaming op
expects this to really stop streaming and I very much doubt this will
work reliably if stop_streaming just returns without really stopping the
DMA.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Pawel Osciak <pawel@osciak.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


Revision tags: v3.14-rc7, v3.14-rc6
# 47677e51 05-Mar-2014 Mauro Carvalho Chehab <m.chehab@samsung.com>

[media] em28xx: Only deallocate struct em28xx after finishing all extensions

We can't free struct em28xx while one of the extensions is still
using it.

So, add a kref() to contr

[media] em28xx: Only deallocate struct em28xx after finishing all extensions

We can't free struct em28xx while one of the extensions is still
using it.

So, add a kref() to control it, freeing it only after the
extensions fini calls.

Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


Revision tags: v3.14-rc5
# ade48681 25-Feb-2014 Sakari Ailus <sakari.ailus@iki.fi>

[media] v4l: Rename vb2_queue.timestamp_type as timestamp_flags

The timestamp_type field used to contain only the timestamp type. Soon it
will be used for timestamp source flags as well.

[media] v4l: Rename vb2_queue.timestamp_type as timestamp_flags

The timestamp_type field used to contain only the timestamp type. Soon it
will be used for timestamp source flags as well. Rename the field
accordingly.

[m.chehab@samsung.com: do the change also to drivers/staging/media and at s2255]
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


Revision tags: v3.14-rc4
# a61f6811 21-Feb-2014 Shuah Khan <shuah.kh@samsung.com>

[media] em28xx-video: implement em28xx_ops: suspend/resume hooks

Implement em28xx_ops: suspend/resume hooks. em28xx usb driver will
invoke em28xx_ops: suspend and resume hooks for all it

[media] em28xx-video: implement em28xx_ops: suspend/resume hooks

Implement em28xx_ops: suspend/resume hooks. em28xx usb driver will
invoke em28xx_ops: suspend and resume hooks for all its extensions
from its suspend() and resume() interfaces.

Signed-off-by: Shuah Khan <shuah.kh@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


Revision tags: v3.14-rc3, v3.14-rc2, v3.14-rc1, v3.13
# d86bc65a 17-Jan-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx-v4l: do not call em28xx_init_camera() if the device has no sensor

This avoids the unnecessary temporary registration of a dummy V4L2 clock.

Signed-off-by: Frank Schäf

[media] em28xx-v4l: do not call em28xx_init_camera() if the device has no sensor

This avoids the unnecessary temporary registration of a dummy V4L2 clock.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 103f18a2 17-Jan-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx-video: do not unregister the v4l2 dummy clock before v4l2_device_unregister() has been called

Otherwiese the core refuses to unregister the clock and the following warning

[media] em28xx-video: do not unregister the v4l2 dummy clock before v4l2_device_unregister() has been called

Otherwiese the core refuses to unregister the clock and the following warning
appears in the system log:

"WARNING: ... at drivers/media/v4l2-core/v4l2-clk.c:231 v4l2_clk_unregister+0x8a/0x90 [videodev]()
v4l2_clk_unregister(): Refusing to unregister ref-counted 11-0030:mclk clock!"

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# 961717b4 13-Jan-2014 Frank Schaefer <fschaefer.oss@googlemail.com>

[media] em28xx: fix usb alternate setting for analog and digital video endpoints > 0

The current code assumes that the analog + digital video endpoints are always at
interface number 0 w

[media] em28xx: fix usb alternate setting for analog and digital video endpoints > 0

The current code assumes that the analog + digital video endpoints are always at
interface number 0 when changing the alternate setting.
This seems to work fine for most existing devices.
However, at least the SpeedLink VAD Laplace webcam has the video endpoint on
interface number 3 (which fortunately doesn't cause any trouble because ist uses
bulk transfers only).
We already consider the actual interface number for audio endpoints, so
rename the the audio_ifnum variable and use it for all device types.
Also get get rid of a pointless (ifnum < 0) in em28xx-audio.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


Revision tags: v3.13-rc8
# 8068eb88 07-Jan-2014 Fengguang Wu <fengguang.wu@intel.com>

[media] em28xx: make 'em28xx_ctrl_ops' static

sparse warnings: (new ones prefixed by >>)

>> drivers/media/usb/em28xx/em28xx-video.c:1151:28: sparse: symbol 'em28xx_ctrl_ops' was not

[media] em28xx: make 'em28xx_ctrl_ops' static

sparse warnings: (new ones prefixed by >>)

>> drivers/media/usb/em28xx/em28xx-video.c:1151:28: sparse: symbol 'em28xx_ctrl_ops' was not declared. Should it be static?

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# ebbfbc20 12-Jan-2014 Mauro Carvalho Chehab <m.chehab@samsung.com>

[media] em28xx: push mutex down to extensions on .fini callback

Avoid circular mutex lock by pushing the dev->lock to the .fini
callback on each extension.

As em28xx-dvb, em28xx

[media] em28xx: push mutex down to extensions on .fini callback

Avoid circular mutex lock by pushing the dev->lock to the .fini
callback on each extension.

As em28xx-dvb, em28xx-alsa and em28xx-rc have their own data
structures, and don't touch at the common structure during .fini,
only em28xx-v4l needs to be locked.

[ 90.994317] ======================================================
[ 90.994356] [ INFO: possible circular locking dependency detected ]
[ 90.994395] 3.13.0-rc1+ #24 Not tainted
[ 90.994427] -------------------------------------------------------
[ 90.994458] khubd/54 is trying to acquire lock:
[ 90.994490] (&card->controls_rwsem){++++.+}, at: [<ffffffffa0177b08>] snd_ctl_dev_free+0x28/0x60 [snd]
[ 90.994656]
[ 90.994656] but task is already holding lock:
[ 90.994688] (&dev->lock){+.+.+.}, at: [<ffffffffa040db81>] em28xx_close_extension+0x31/0x90 [em28xx]
[ 90.994843]
[ 90.994843] which lock already depends on the new lock.
[ 90.994843]
[ 90.994874]
[ 90.994874] the existing dependency chain (in reverse order) is:
[ 90.994905]
-> #1 (&dev->lock){+.+.+.}:
[ 90.995057] [<ffffffff810b8fa3>] __lock_acquire+0xb43/0x1330
[ 90.995121] [<ffffffff810b9f82>] lock_acquire+0xa2/0x120
[ 90.995182] [<ffffffff816a5b6c>] mutex_lock_nested+0x5c/0x3c0
[ 90.995245] [<ffffffffa0422cca>] em28xx_vol_put_mute+0x1ba/0x1d0 [em28xx_alsa]
[ 90.995309] [<ffffffffa017813d>] snd_ctl_elem_write+0xfd/0x140 [snd]
[ 90.995376] [<ffffffffa01791c2>] snd_ctl_ioctl+0xe2/0x810 [snd]
[ 90.995442] [<ffffffff811db8b0>] do_vfs_ioctl+0x300/0x520
[ 90.995504] [<ffffffff811dbb51>] SyS_ioctl+0x81/0xa0
[ 90.995568] [<ffffffff816b1929>] system_call_fastpath+0x16/0x1b
[ 90.995630]
-> #0 (&card->controls_rwsem){++++.+}:
[ 90.995780] [<ffffffff810b7a47>] check_prevs_add+0x947/0x950
[ 90.995841] [<ffffffff810b8fa3>] __lock_acquire+0xb43/0x1330
[ 90.995901] [<ffffffff810b9f82>] lock_acquire+0xa2/0x120
[ 90.995962] [<ffffffff816a762b>] down_write+0x3b/0xa0
[ 90.996022] [<ffffffffa0177b08>] snd_ctl_dev_free+0x28/0x60 [snd]
[ 90.996088] [<ffffffffa017a255>] snd_device_free+0x65/0x140 [snd]
[ 90.996154] [<ffffffffa017a751>] snd_device_free_all+0x61/0xa0 [snd]
[ 90.996219] [<ffffffffa0173af4>] snd_card_do_free+0x14/0x130 [snd]
[ 90.996283] [<ffffffffa0173f14>] snd_card_free+0x84/0x90 [snd]
[ 90.996349] [<ffffffffa0423397>] em28xx_audio_fini+0x97/0xb0 [em28xx_alsa]
[ 90.996411] [<ffffffffa040dba6>] em28xx_close_extension+0x56/0x90 [em28xx]
[ 90.996475] [<ffffffffa040f639>] em28xx_usb_disconnect+0x79/0x90 [em28xx]
[ 90.996539] [<ffffffff814a06e7>] usb_unbind_interface+0x67/0x1d0
[ 90.996620] [<ffffffff8142920f>] __device_release_driver+0x7f/0xf0
[ 90.996682] [<ffffffff814292a5>] device_release_driver+0x25/0x40
[ 90.996742] [<ffffffff81428b0c>] bus_remove_device+0x11c/0x1a0
[ 90.996801] [<ffffffff81425536>] device_del+0x136/0x1d0
[ 90.996863] [<ffffffff8149e0c0>] usb_disable_device+0xb0/0x290
[ 90.996923] [<ffffffff814930c5>] usb_disconnect+0xb5/0x1d0
[ 90.996984] [<ffffffff81495ab6>] hub_port_connect_change+0xd6/0xad0
[ 90.997044] [<ffffffff814967c3>] hub_events+0x313/0x9b0
[ 90.997105] [<ffffffff81496e95>] hub_thread+0x35/0x170
[ 90.997165] [<ffffffff8108ea2f>] kthread+0xff/0x120
[ 90.997226] [<ffffffff816b187c>] ret_from_fork+0x7c/0xb0
[ 90.997287]
[ 90.997287] other info that might help us debug this:
[ 90.997287]
[ 90.997318] Possible unsafe locking scenario:
[ 90.997318]
[ 90.997348] CPU0 CPU1
[ 90.997378] ---- ----
[ 90.997408] lock(&dev->lock);
[ 90.997497] lock(&card->controls_rwsem);
[ 90.997607] lock(&dev->lock);
[ 90.997697] lock(&card->controls_rwsem);
[ 90.997786]
[ 90.997786] *** DEADLOCK ***
[ 90.997786]
[ 90.997817] 5 locks held by khubd/54:
[ 90.997847] #0: (&__lockdep_no_validate__){......}, at: [<ffffffff81496564>] hub_events+0xb4/0x9b0
[ 90.998025] #1: (&__lockdep_no_validate__){......}, at: [<ffffffff81493076>] usb_disconnect+0x66/0x1d0
[ 90.998204] #2: (&__lockdep_no_validate__){......}, at: [<ffffffff8142929d>] device_release_driver+0x1d/0x40
[ 90.998383] #3: (em28xx_devlist_mutex){+.+.+.}, at: [<ffffffffa040db77>] em28xx_close_extension+0x27/0x90 [em28xx]
[ 90.998567] #4: (&dev->lock){+.+.+.}, at: [<ffffffffa040db81>] em28xx_close_extension+0x31/0x90 [em28xx]

Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Tested-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


# aa929ad7 12-Jan-2014 Mauro Carvalho Chehab <m.chehab@samsung.com>

[media] em28xx: print a message at disconnect

That helps to identify if something fails and explain why em28xx
struct is not freed (if it ever happens).

Reviewed-by: Frank Schäf

[media] em28xx: print a message at disconnect

That helps to identify if something fails and explain why em28xx
struct is not freed (if it ever happens).

Reviewed-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Tested-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>

show more ...


1...<<1112131415