Hans Verkuil [Thu, 17 Apr 2014 10:24:31 +0000 (07:24 -0300)]
[media] saa7134: fix regression with tvtime
This solves this bug:
https://bugzilla.kernel.org/show_bug.cgi?id=73361
The problem is that when you quit tvtime it calls STREAMOFF, but then it queues a
bunch of buffers for no good reason before closing the file descriptor.
In the past closing the fd would free the vb queue since that was part of the file
handle struct. Since that was moved to the global struct that no longer happened.
This wouldn't be a problem, but the extra QBUF calls that tvtime does meant that
the buffer list in videobuf (q->stream) contained buffers, so REQBUFS would fail
with -EBUSY.
The solution is to init the list head explicitly when releasing the file
descriptor and to not free the video resource when calling streamoff.
The real fix will hopefully go into kernel 3.16 when the vb2 conversion is
merged. Basically the saa7134 driver with the old videobuf is so full of holes it
ain't funny anymore, so consider this a band-aid for kernels 3.14 and 15.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Cc: stable@vger.kernel.org # for v3.14 and up
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Tue, 1 Apr 2014 12:58:19 +0000 (09:58 -0300)]
[media] smiapp: Use %u for printing u32 value
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Thu, 10 Apr 2014 13:08:59 +0000 (10:08 -0300)]
[media] smiapp: Define macros for obtaining properties of register definitions
The register address, width and flags are encoded as a 32-bit value. Add
macros for obtaining these separately. Use the macros in register access
functions.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Tue, 1 Apr 2014 11:37:38 +0000 (08:37 -0300)]
[media] smiapp: Add register diversion quirk
Add a quirk for diverting registers for on some sensors, even the standard
registers are not where they can be expected to be found. Add a quirk to
to help using such sensors.
smiapp_write_no_quirk() and smiapp_read_no_quirk() functions are provided
for the use of quirk implementations.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Tue, 8 Apr 2014 21:18:10 +0000 (18:18 -0300)]
[media] smiapp: Make PLL (quirk) flags a function
This is more flexible. Quirk flags may be affected by configuration.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Tue, 8 Apr 2014 21:14:42 +0000 (18:14 -0300)]
[media] smiapp: Make PLL flags unsigned long
No reason to keep this u8, really.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Wed, 12 Feb 2014 13:33:51 +0000 (10:33 -0300)]
[media] smiapp: Make PLL flags separate from regular quirk flags
It doesn't make sense to just copy the information to the PLL flags. Add a
new fields for the quirks to contain the PLL flags.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Wed, 26 Mar 2014 16:34:29 +0000 (13:34 -0300)]
[media] smiapp: Use I2C adapter ID and address in the sub-device name
The sub-device names should be unique. Should two identical sensors be
present in the same media device they would be indistinguishable. The names
will change e.g. from "vs6555 pixel array" to "vs6555 1-0010 pixel array".
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Fri, 11 Apr 2014 09:30:18 +0000 (06:30 -0300)]
[media] smiapp: Add a macro for constructing 8-bit quirk registers
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Sat, 12 Apr 2014 19:41:12 +0000 (16:41 -0300)]
[media] smiapp: Fix determining the need for 8-bit read access
8-bit reads are needed in some cases; however the condition used was wrong.
Regular access (register width) was used if:
len == SMIAPP_REG_8BIT && !only8
This causes 8-bit read access to be used always. The operator should be ||
instead: regular access can be used for 8-bit reads OR if allowed otherwise.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Fri, 11 Apr 2014 08:47:21 +0000 (05:47 -0300)]
[media] smiapp: Rename SMIA_REG to SMIAPP_REG for consistency
SMIAPP_REG_ is the common prefix used in the driver for register related
definitions. Use it consistently.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sakari Ailus [Sat, 12 Apr 2014 17:32:01 +0000 (14:32 -0300)]
[media] smiapp: Remove unused quirk register functionality
The quirk registers mechanism which allows register to have a static read
access value from the sensor specific quirks, is not used. Remove it. It is
to be replaced by a more generic register diversion quirk soon.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Thu, 17 Apr 2014 06:17:08 +0000 (03:17 -0300)]
[media] vb2: fix compiler warning
When compiling this for older kernels using the compatibility build
the compiler complains about uninitialized variables:
In file included from include/linux/kernel.h:20:0,
from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/input.h:13,
from /home/hans/work/build/media_build/v4l/compat.h:9,
from <command-line>:0:
/home/hans/work/build/media_build/v4l/videobuf2-core.c: In function 'vb2_mmap':
include/linux/dynamic_debug.h:60:9: warning: 'plane' may be used uninitialized in this function [-Wmaybe-uninitialized]
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); \
^
/home/hans/work/build/media_build/v4l/videobuf2-core.c:2381:23: note: 'plane' was declared here
unsigned int buffer, plane;
^
In file included from include/linux/kernel.h:20:0,
from include/linux/cache.h:4,
from include/linux/time.h:7,
from include/linux/input.h:13,
from /home/hans/work/build/media_build/v4l/compat.h:9,
from <command-line>:0:
include/linux/dynamic_debug.h:60:9: warning: 'buffer' may be used uninitialized in this function [-Wmaybe-uninitialized]
printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__); \
^
/home/hans/work/build/media_build/v4l/videobuf2-core.c:2381:15: note: 'buffer' was declared here
unsigned int buffer, plane;
^
While these warnings are bogus (the call to __find_plane_by_offset will
set buffer and plane), it doesn't hurt to initialize these variables.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Thu, 17 Apr 2014 05:52:16 +0000 (02:52 -0300)]
[media] bfin_capture: drop unnecessary vb2_is_streaming check
The stop_streaming op is only called if streaming is in progress,
so drop the unnecessary 'if (!vb2_is_streaming(vq))' check.
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>
Hans Verkuil [Thu, 17 Apr 2014 05:47:21 +0000 (02:47 -0300)]
[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>
Robert Butora [Wed, 16 Apr 2014 18:46:49 +0000 (15:46 -0300)]
[media] media:gspca:dtcs033 Clean sparse check warnings on endianess
Warnings due to __le16 / u16 conversions.
Replace offending struct and so stay on cpu domain.
Signed-off-by: Robert Butora <robert.butora.fi@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Wed, 23 Apr 2014 12:58:16 +0000 (09:58 -0300)]
Documentation: Update cardlists
Two new devices were added, but the cardlists weren't updated.
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Wed, 23 Apr 2014 01:56:54 +0000 (22:56 -0300)]
[media] em28xx: PCTV tripleStick (292e) LNA support
External LNA between antenna connector and RF tuner is controlled
by EM28178 GPIO 0. GPIO value 1 is LNA active and value 0 is LNA
disabled.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Wed, 23 Apr 2014 00:36:32 +0000 (21:36 -0300)]
[media] si2168: relax demod lock checks a little
bit3 was not cleared always leaving driver reporting demod is not
fully locked. Do not check bit0 as it seems to be always 0.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Tue, 15 Apr 2014 09:21:03 +0000 (06:21 -0300)]
[media] MAINTAINERS: add si2157 driver
Silicon Labs Si2157 silicon tuner driver.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Tue, 15 Apr 2014 09:17:53 +0000 (06:17 -0300)]
[media] MAINTAINERS: add si2168 driver
Silicon Labs Si2168 DVB-T/T2/C demod driver
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Tue, 15 Apr 2014 00:55:12 +0000 (21:55 -0300)]
[media] si2168: add copyright and license
Add copyright and license for each file.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Tue, 15 Apr 2014 00:51:32 +0000 (21:51 -0300)]
[media] si2157: add copyright and license
Add copyright and license for each file.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Sat, 12 Apr 2014 04:58:32 +0000 (01:58 -0300)]
[media] si2168: add support for DVB-C (annex A version)
Add support for DVB-C (annex A version).
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Sat, 12 Apr 2014 04:53:51 +0000 (01:53 -0300)]
[media] si2157: extend frequency range for DVB-C
DVB-C uses lower frequencies than DVB-T. Extend frequency range down to
110 MHz in order to support DVB-C. 110 - 862 MHz range is defined by
NorDig Unified 2.2 specification.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Fri, 11 Apr 2014 23:35:27 +0000 (20:35 -0300)]
[media] si2168: add support for DVB-T2
Add support for DVB-T2.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Fri, 11 Apr 2014 01:11:27 +0000 (22:11 -0300)]
[media] em28xx: add [2013:025f] PCTV tripleStick (292e)
Empia EM28178, Silicon Labs Si2168, Silicon Labs Si2157.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Fri, 11 Apr 2014 01:00:50 +0000 (22:00 -0300)]
[media] si2168: Silicon Labs Si2168 DVB-T/T2/C demod driver
Silicon Labs Si2168 DVB-T/T2/C demod driver.
That driver version supports only DVB-T.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Fri, 11 Apr 2014 00:58:10 +0000 (21:58 -0300)]
[media] si2157: Silicon Labs Si2157 silicon tuner driver
Silicon Labs Si2157 silicon tuner driver.
Currently it supports only DVB-T.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Wed, 9 Oct 2013 11:01:05 +0000 (08:01 -0300)]
[media] vb2: Add videobuf2-dvb support
With the new vb2_thread_start/stop core code it is very easy to implement
videobuf2-dvb. This should simplify converting existing videobuf drivers to
vb2.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 14 Apr 2014 10:33:00 +0000 (07:33 -0300)]
[media] vb2: add thread support
In order to implement vb2 DVB support you need to be able to start
a kernel thread that queues and dequeues buffers, calling a callback
function for every buffer. This patch adds support for that.
It's based on drivers/media/v4l2-core/videobuf-dvb.c, but with all the DVB
specific stuff stripped out, thus making it much more generic.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Fri, 11 Apr 2014 08:02:29 +0000 (05:02 -0300)]
[media] v4l2-pci-skeleton.c: fix alternate field handling
For interlaced HDTV timings the correct field setting is FIELD_ALTERNATE,
not INTERLACED. Update this template driver accordingly:
- add check for the invalid combination of read() and FIELD_ALTERNATE.
- in the interrupt handler set v4l2_buffer field to alternating TOP and
BOTTOM.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 7 Apr 2014 13:01:28 +0000 (10:01 -0300)]
[media] DocBook media: update bytesused field description
For output buffers the application has to set the bytesused field.
In reality applications often do not set this since drivers that
deal with fix image sizes just override it anyway.
The vb2 framework will replace this field with the length field if
bytesused was set to 0 by the application, which is what happens
in practice. Document this behavior.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 7 Apr 2014 12:13:22 +0000 (09:13 -0300)]
[media] vb2: start messages with a lower-case for consistency
The kernel debug messages produced by vb2 started either with a
lower or an upper case character. Switched all to use lower-case
which seemed to be what was used in the majority of the messages.
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>
Hans Verkuil [Fri, 11 Apr 2014 07:40:03 +0000 (04:40 -0300)]
[media] vb2: allow read/write as long as the format is single planar
It was impossible to read() or write() a frame if the queue type was multiplanar.
Even if the current format is single planar. Change this to just check whether
the number of planes is 1 or more.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 7 Apr 2014 12:23:50 +0000 (09:23 -0300)]
[media] vb2: add vb2_fileio_is_active and check it more often
Added a vb2_fileio_is_active inline function that returns true if fileio
is in progress. Check for this too in mmap() (you don't want apps mmap()ing
buffers used by fileio) and expbuf() (same reason).
In addition drivers should be able to check for this in queue_setup() to
return an error if an attempt is made to read() or write() with
V4L2_FIELD_ALTERNATE being configured. This is illegal (there is no way
to pass the TOP/BOTTOM information around using file I/O).
However, in order to be able to check for this the init_fileio function
needs to set q->fileio early on, before the buffers are allocated. So switch
to using internal functions (__reqbufs, vb2_internal_qbuf and
vb2_internal_streamon) to skip the fileio check. Well, that's why the internal
functions were created...
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>
Hans Verkuil [Mon, 24 Feb 2014 18:52:04 +0000 (15:52 -0300)]
[media] vb2: simplify a confusing condition
q->start_streaming_called is always true, so the WARN_ON check against
it being false can be dropped.
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>
Hans Verkuil [Mon, 7 Apr 2014 12:20:39 +0000 (09:20 -0300)]
[media] vb2: reject output buffers with V4L2_FIELD_ALTERNATE
This is not allowed by the spec and does in fact not make any sense.
Return -EINVAL if this is the case.
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>
Hans Verkuil [Fri, 11 Apr 2014 07:36:57 +0000 (04:36 -0300)]
[media] vb2: set timestamp when using write()
When using write() to write data to an output video node the vb2 core
should set timestamps if V4L2_BUF_FLAG_TIMESTAMP_COPY is set. Nobody
else is able to provide this information with the write() operation.
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>
Hans Verkuil [Mon, 10 Mar 2014 15:23:13 +0000 (12:23 -0300)]
[media] vb2: move __qbuf_mmap before __qbuf_userptr
__qbuf_mmap was sort of hidden in between the much larger __qbuf_userptr
and __qbuf_dmabuf functions. Move it before __qbuf_userptr which is
also conform the usual order these memory models are implemented: first
mmap, then userptr, then dmabuf.
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>
Hans Verkuil [Mon, 7 Apr 2014 12:08:47 +0000 (09:08 -0300)]
[media] vb2: use correct prefix
Many dprintk's in vb2 use a hardcoded prefix with the function name. In
many cases that is now outdated. To keep things consistent the dprintk
macro has been changed to print the function name in addition to the "vb2:"
prefix. Superfluous prefixes elsewhere in the code have been removed.
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>
Hans Verkuil [Mon, 7 Apr 2014 11:57:48 +0000 (08:57 -0300)]
[media] vb2: if bytesused is 0, then fill with output buffer length
The application should really always fill in bytesused for output
buffers, unfortunately the vb2 framework never checked for that.
So for single planar formats replace a bytesused of 0 by the length
of the buffer, and for multiplanar format do the same if bytesused is
0 for ALL planes.
This seems to be what the user really intended if v4l2_buffer was
just memset to 0.
I'm afraid that just checking for this and returning an error would
break too many applications. Quite a few drivers never check for bytesused
at all and just use the buffer length instead.
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>
Hans Verkuil [Mon, 7 Apr 2014 11:44:56 +0000 (08:44 -0300)]
[media] vb2: fix handling of data_offset and v4l2_plane.reserved[]
The videobuf2-core did not zero the 'planes' array in __qbuf_userptr()
and __qbuf_dmabuf(). That's now memset to 0. Without this the reserved
array in struct v4l2_plane would be non-zero, causing v4l2-compliance
errors.
More serious is the fact that data_offset was not handled correctly:
- for capture devices it was never zeroed, which meant that it was
uninitialized. Unless the driver sets it it was a completely random
number. With the memset above this is now fixed.
- __qbuf_dmabuf had a completely incorrect length check that included
data_offset.
- in __fill_vb2_buffer in the DMABUF case the data_offset field was
unconditionally copied from v4l2_buffer to v4l2_plane when this
should only happen in the output case.
- in the single-planar case data_offset was never correctly set to 0.
The single-planar API doesn't support data_offset, so setting it
to 0 is the right thing to do. This too is now solved by the memset.
All these issues were found with v4l2-compliance.
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>
Hans Verkuil [Tue, 8 Apr 2014 08:01:52 +0000 (05:01 -0300)]
[media] v4l2-dv-timings.c: add the new 4K timings to the list
Add the new CEA-861-F and DMT 4K timings to the list of predefined
timings.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Tue, 8 Apr 2014 08:00:39 +0000 (05:00 -0300)]
[media] v4l2-dv-timings.h: add CEA-861-F 4K timings
Add the CEA-861-F timings for 3840x2160p24/25/30/50/60 and
4096x2160p24/25/30/50/60.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sun, 23 Mar 2014 06:37:25 +0000 (03:37 -0300)]
[media] staging: media: davinci: vpfe: release buffers in case start_streaming call back fails
this patch releases the buffer by calling vb2_buffer_done(),
with state marked as VB2_BUF_STATE_QUEUED if start_streaming()
call back fails.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sun, 23 Mar 2014 06:37:24 +0000 (03:37 -0300)]
[media] staging: media: davinci: vpfe: use v4l2_fh for priority handling
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mike Sampson [Mon, 24 Mar 2014 09:04:49 +0000 (06:04 -0300)]
[media] sn9c102_hv7131r: fix style warnings flagged by checkpatch.pl
Signed-off-by: Mike Sampson <mike@sambodata.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 11:39:24 +0000 (08:39 -0300)]
[media] media: davinci: vpfe: use v4l2_fh for priority handling
This patch migrates the vpfe driver to use v4l2_fh for
priority handling.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 10:57:59 +0000 (07:57 -0300)]
[media] media: davinci: vpbe: use v4l2_fh for priority handling
This patch migrates the vpbe driver to use v4l2_fh for
priority handling. This also fixes v4l2-compliance test.
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Daniel Glöckner [Wed, 19 Mar 2014 09:50:41 +0000 (06:50 -0300)]
[media] bttv: Add support for PCI-8604PW
This patch adds support for the PCI-8604PW card equipped with four 878A.
It is unknown who the manufacturer of this card is and no drivers were
available during development of the patch. According to images found
online, the card is originally sold with Linux DVR software.
A CPLD on the card prevents the 878A from requesting access to the
bus until an initialization sequence has been issued via GPIOs. The
implemented sequence uses the minimum number of GPIOs needed to
successfully unlock bus access. As there are many more GPIOs connected
to the CPLD, it is very likely that some of the others have an influence
on the bus arbitration scheduling. This should be investigated further
in case of performance issues.
The tested card contains an EEPROM on one of the 878A, but it is
completely empty (i.e. contains only 0xff), so it is not possible
to detect the card.
Signed-off-by: Daniel Glöckner <daniel-gl@gmx.net>
Tested-by: Robert Longbottom <rongblor@googlemail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Martin Bugge [Wed, 19 Mar 2014 09:43:45 +0000 (06:43 -0300)]
[media] adv7842: Disable access to EDID DDC lines before chip power up
In core_init make sure access to EDID DDC lines are disabled
before chip is powered up. Also DISABLE_AUTO_EDID before power up.
The correct setting is applied later when setting the EDID.
Some sources (MAC) kept on reading EDID even when Hotplug was low
and in the short period in core_init before the DDC lines was enabled
read a corrupt EDID.
Signed-off-by: Martin Bugge <marbugge@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Martin Bugge [Wed, 19 Mar 2014 09:43:43 +0000 (06:43 -0300)]
[media] adv7842: update RGB quantization range on HDMI/DVI-D mode irq
This was the reason for enabling the HDMI/DVI-D mode irq in the first place.
Signed-off-by: Martin Bugge <marbugge@cisco.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
ileana@telecom-paristech.fr [Tue, 18 Mar 2014 13:31:03 +0000 (10:31 -0300)]
[media] staging: omap24xx: fix coding style
Fix missing parentheses in macros
Errors found by checkpatch.pl
Signed-off-by: Ioana Ileana <ileana@enst.fr>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 17 Mar 2014 12:54:23 +0000 (09:54 -0300)]
[media] v4l2-ioctl.c: fix sparse __user-related warnings
Fix the use of __user in the check_array_args() prototype: instead of
using 'void * __user *' you should use 'void __user **' for sparse to
understand this correctly.
This also required the use of __force in the '*kernel_ptr = user_ptr'
assignment.
Also replace a wrong cast (void *) with the correct one (void **)
in check_array_args().
This fixes these sparse warnings:
drivers/media/v4l2-core/v4l2-ioctl.c:2284:35: warning: incorrect type in assignment (different address spaces)
drivers/media/v4l2-core/v4l2-ioctl.c:2301:35: warning: incorrect type in assignment (different address spaces)
drivers/media/v4l2-core/v4l2-ioctl.c:2319:35: warning: incorrect type in assignment (different address spaces)
drivers/media/v4l2-core/v4l2-ioctl.c:2386:57: warning: incorrect type in argument 4 (different address spaces)
drivers/media/v4l2-core/v4l2-ioctl.c:2420:29: warning: incorrect type in assignment (different address spaces)
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 17 Mar 2014 12:54:22 +0000 (09:54 -0300)]
[media] v4l2-common.h: remove __user annotation in struct v4l2_edid
The edid array is copied to kernelspace by the v4l2 core, so drivers
shouldn't see the __user annotation. This conforms to other structs like
v4l2_ext_controls where the data pointed to is copied to from user to
kernelspace.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 17 Mar 2014 12:54:21 +0000 (09:54 -0300)]
[media] videobuf2-core: fix sparse errors
Sparse generated a bunch of errors like this:
drivers/media/v4l2-core/videobuf2-core.c:2045:25: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:136:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:151:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:168:25: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:183:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:185:9: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:385:25: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1115:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1268:33: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1270:25: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1315:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1324:25: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1396:25: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1457:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1482:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1484:9: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1523:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1525:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1815:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1828:17: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1914:25: error: incompatible types in conditional expression (different base types)
drivers/media/v4l2-core/videobuf2-core.c:1944:9: error: incompatible types in conditional expression (different base types)
These are caused by the call*op defines which do something like this:
(ops->op) ? ops->op(args) : 0
which is OK as long as op is not a void function, because in that case one part
of the conditional expression returns void, the other an integer. Hence the sparse
errors.
I've replaced this by introducing three variants of the call_ macros:
call_*op for int returns, call_void_*op for void returns and call_ptr_*op for
pointer returns.
That's the bad news. The good news is that the fail_*op macros could be removed
since the call_*op macros now have enough information to determine if the op
succeeded or not and can increment the op counter only on success. This at least
makes it more robust w.r.t. future changes.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Pawel Osciak <pawel@osciak.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Hans Verkuil [Mon, 17 Mar 2014 12:54:19 +0000 (09:54 -0300)]
[media] v4l2-subdev.h: fix sparse error with v4l2_subdev_notify
The notify function is a void function, yet the v4l2_subdev_notify
define uses it in a ? : construction, which causes sparse warnings.
Replace the define by a static inline function and move it to
v4l2-device.h, which is where it belongs since it needs to know the
v4l2_device struct. This wasn't a problem when it was a define, but
as a static inline function this no longer compiles in v4l2-subdev.h.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Ismael Luceno [Fri, 14 Mar 2014 19:43:23 +0000 (16:43 -0300)]
[media] gspca_gl860: Clean up idxdata structs
Signed-off-by: Ismael Luceno <ismael.luceno@gmail.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Robert Butora [Mon, 24 Mar 2014 22:41:38 +0000 (19:41 -0300)]
[media] media/usb/gspca: Add support for Scopium astro webcam (0547:7303)
This patch does not modify existing drivers. It adds subdriver
to gspca for DTCS033 (Scopium) webcam for astrophotography.
The patch adds dtcs033.c and modifies Kconfig and Makefile.
Signed-off-by: Robert Butora <robert.butora.fi@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Jean Delvare [Fri, 11 Apr 2014 07:15:32 +0000 (04:15 -0300)]
[media] Prefer gspca_sonixb over sn9c102 for all devices
The sn9c102 driver is deprecated. It was moved to staging in
anticipation of its removal in a future kernel version. However, USB
devices 0C45:6024 and 0C45:6025 are still handled by sn9c102 when
both sn9c102 and gspca_sonixb are enabled.
We must migrate all the users of these devices to the gspca_sonixb
driver now, so that it gets sufficient testing before the sn9c102
driver is finally phased out.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sun, 23 Mar 2014 05:44:11 +0000 (02:44 -0300)]
[media] media: davinci: vpfe: make sure all the buffers unmapped and released
this patch makes sure that it terminates if any IO in
progress and also makes sure that all the buffers are unmapped.
It was observed that with several runs of application the application
sometimes failed to allocate memory, This patch makes sure it
all the buffers are released.
Using kmemleak it was found that buffer were not released, this patch
fixes following issue,
echo scan > /sys/kernel/debug/kmemleak
Kernel message reads:
memleak: 3 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
Then,
cat /sys/kernel/debug/kmemleak
unreferenced object 0xc564a480 (size 192):
comm "mttest", pid 764, jiffies
4294945878 (age 487.160s)
hex dump (first 32 bytes):
00 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........
00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d..........
backtrace:
[<
c00a98dc>] create_object+0x10c/0x28c
[<
c03ba8ec>] kmemleak_alloc+0x3c/0x70
[<
c00a67c0>] __kmalloc+0x11c/0x1d4
[<
c02b6f48>] __videobuf_alloc+0x1c/0x3c
[<
c02b6194>] videobuf_alloc_vb+0x38/0x80
[<
c02b6638>] __videobuf_mmap_setup+0x9c/0x108
[<
c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
[<
c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
[<
c02be2c4>] vpfe_reqbufs+0xcc/0x130
[<
c02aae90>] v4l_reqbufs+0x50/0x54
[<
c02aab54>] __video_do_ioctl+0x260/0x2c4
[<
c02a9dd4>] video_usercopy+0xf0/0x310
[<
c02aa008>] video_ioctl2+0x14/0x1c
[<
c02a562c>] v4l2_ioctl+0x104/0x14c
[<
c00bd320>] do_vfs_ioctl+0x80/0x2d0
[<
c00bd5b4>] SyS_ioctl+0x44/0x64
unreferenced object 0xc564ac00 (size 192):
comm "mttest", pid 764, jiffies
4294945878 (age 487.160s)
hex dump (first 32 bytes):
01 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........
00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d..........
backtrace:
[<
c00a98dc>] create_object+0x10c/0x28c
[<
c03ba8ec>] kmemleak_alloc+0x3c/0x70
[<
c00a67c0>] __kmalloc+0x11c/0x1d4
[<
c02b6f48>] __videobuf_alloc+0x1c/0x3c
[<
c02b6194>] videobuf_alloc_vb+0x38/0x80
[<
c02b6638>] __videobuf_mmap_setup+0x9c/0x108
[<
c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
[<
c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
[<
c02be2c4>] vpfe_reqbufs+0xcc/0x130
[<
c02aae90>] v4l_reqbufs+0x50/0x54
[<
c02aab54>] __video_do_ioctl+0x260/0x2c4
[<
c02a9dd4>] video_usercopy+0xf0/0x310
[<
c02aa008>] video_ioctl2+0x14/0x1c
[<
c02a562c>] v4l2_ioctl+0x104/0x14c
[<
c00bd320>] do_vfs_ioctl+0x80/0x2d0
[<
c00bd5b4>] SyS_ioctl+0x44/0x64
unreferenced object 0xc564a180 (size 192):
comm "mttest", pid 764, jiffies
4294945880 (age 487.140s)
hex dump (first 32 bytes):
02 00 00 00 28 07 07 20 d0 02 00 00 e0 01 00 00 ....(.. ........
00 00 00 00 00 64 05 00 01 00 00 00 01 00 00 00 .....d..........
backtrace:
[<
c00a98dc>] create_object+0x10c/0x28c
[<
c03ba8ec>] kmemleak_alloc+0x3c/0x70
[<
c00a67c0>] __kmalloc+0x11c/0x1d4
[<
c02b6f48>] __videobuf_alloc+0x1c/0x3c
[<
c02b6194>] videobuf_alloc_vb+0x38/0x80
[<
c02b6638>] __videobuf_mmap_setup+0x9c/0x108
[<
c02b6da0>] videobuf_reqbufs.part.10+0x12c/0x1bc
[<
c02b6e9c>] videobuf_reqbufs+0x6c/0x8c
[<
c02be2c4>] vpfe_reqbufs+0xcc/0x130
[<
c02aae90>] v4l_reqbufs+0x50/0x54
[<
c02aab54>] __video_do_ioctl+0x260/0x2c4
[<
c02a9dd4>] video_usercopy+0xf0/0x310
[<
c02aa008>] video_ioctl2+0x14/0x1c
[<
c02a562c>] v4l2_ioctl+0x104/0x14c
[<
c00bd320>] do_vfs_ioctl+0x80/0x2d0
[<
c00bd5b4>] SyS_ioctl+0x44/0x64
Reported-by: Jimmy Ho <jimmygge@gmail.com>
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sun, 23 Mar 2014 05:16:46 +0000 (02:16 -0300)]
[media] staging: media: davinci: vpfe: make sure all the buffers are released
from commit-id:
b3379c6201bb3555298cdbf0aa004af260f2a6a4
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
This patch fixes following issue:
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpfe_video Tainted: G W
3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<
c0252e0c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpfe_release+0x60/0x230)
[<
c025a65c>] (vpfe_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpfe_video Tainted: G W
3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<
c0252c28>] (vb2_buffer_done) from [<
c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<
c0252e3c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpfe_release+0x60/0x230)
[<
c025a65c>] (vpfe_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a2 ]---
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 11:03:09 +0000 (08:03 -0300)]
[media] media: davinci: vpbe_display: fix releasing of active buffers
from commit-id:
b3379c6201bb3555298cdbf0aa004af260f2a6a4
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
This patch fixes following issue:
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpbe_display Tainted: G W
3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<
c0252e0c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpbe_display_release+0x60/0x230)
[<
c025a65c>] (vpbe_display_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpbe_display Tainted: G W
3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<
c0252c28>] (vb2_buffer_done) from [<
c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<
c0252e3c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpbe_display_release+0x60/0x230)
[<
c025a65c>] (vpbe_display_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a2 ]---
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 11:03:08 +0000 (08:03 -0300)]
[media] media: davinci: vpif_display: fix releasing of active buffers
from commit-id:
b3379c6201bb3555298cdbf0aa004af260f2a6a4
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
Also this patch moves the disabling of interrupts from relase() callback
to stop_streaming() callback as which needs to be done ideally.
This patch fixes following issue:
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_display Tainted: G W
3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<
c0252e0c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpif_release+0x60/0x230)
[<
c025a65c>] (vpif_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_display Tainted: G W
3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<
c0252c28>] (vb2_buffer_done) from [<
c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<
c0252e3c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpif_release+0x60/0x230)
[<
c025a65c>] (vpif_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a2 ]---
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Lad, Prabhakar [Sat, 22 Mar 2014 11:03:07 +0000 (08:03 -0300)]
[media] media: davinci: vpif_capture: fix releasing of active buffers
from commit-id:
b3379c6201bb3555298cdbf0aa004af260f2a6a4
"vb2: only call start_streaming if sufficient buffers are queued"
the vb2 framework warns on (WARN_ON()) if all the active buffers
are not released when streaming is stopped, initially the vb2 silently
released the buffer internally if the buffer was not released by
the driver.
Also this patch moves the disabling of interrupts from relase() callback
to stop_streaming() callback as which needs to be done ideally.
This patch fixes following issue:
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:2011 __vb2_queue_cancel+0x1a0/0x218()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_capture Tainted: G W
3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252e0c>] (__vb2_queue_cancel+0x1a0/0x218)
[<
c0252e0c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpif_release+0x60/0x230)
[<
c025a65c>] (vpif_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a1 ]---
------------[ cut here ]------------
WARNING: CPU: 0 PID: 2049 at drivers/media/v4l2-core/videobuf2-core.c:1095 vb2_buffer_done+0x1e0/0x224()
Modules linked in:
CPU: 0 PID: 2049 Comm: vpif_capture Tainted: G W
3.14.0-rc5-00414-ged97a6f #89
[<
c000e3f0>] (unwind_backtrace) from [<
c000c618>] (show_stack+0x10/0x14)
[<
c000c618>] (show_stack) from [<
c001adb0>] (warn_slowpath_common+0x68/0x88)
[<
c001adb0>] (warn_slowpath_common) from [<
c001adec>] (warn_slowpath_null+0x1c/0x24)
[<
c001adec>] (warn_slowpath_null) from [<
c0252c28>] (vb2_buffer_done+0x1e0/0x224)
[<
c0252c28>] (vb2_buffer_done) from [<
c0252e3c>] (__vb2_queue_cancel+0x1d0/0x218)
[<
c0252e3c>] (__vb2_queue_cancel) from [<
c02533a4>] (vb2_queue_release+0x14/0x24)
[<
c02533a4>] (vb2_queue_release) from [<
c025a65c>] (vpif_release+0x60/0x230)
[<
c025a65c>] (vpif_release) from [<
c023fe5c>] (v4l2_release+0x34/0x74)
[<
c023fe5c>] (v4l2_release) from [<
c00b4a00>] (__fput+0x80/0x224)
[<
c00b4a00>] (__fput) from [<
c00341e8>] (task_work_run+0xa0/0xd0)
[<
c00341e8>] (task_work_run) from [<
c001cc28>] (do_exit+0x244/0x918)
[<
c001cc28>] (do_exit) from [<
c001d344>] (do_group_exit+0x48/0xdc)
[<
c001d344>] (do_group_exit) from [<
c0029894>] (get_signal_to_deliver+0x2a0/0x5bc)
[<
c0029894>] (get_signal_to_deliver) from [<
c000b888>] (do_signal+0x78/0x3a0)
[<
c000b888>] (do_signal) from [<
c000bc54>] (do_work_pending+0xa4/0xb4)
[<
c000bc54>] (do_work_pending) from [<
c00096dc>] (work_pending+0xc/0x20)
---[ end trace
5faa75e8c2f8a6a2 ]---
Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Nicolas Dufresne [Tue, 25 Mar 2014 20:50:11 +0000 (17:50 -0300)]
[media] s5p-fimc: Fix YUV422P depth
All YUV 422 has 16bit per pixels.
Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Sylwester Nawrocki [Tue, 8 Apr 2014 13:05:03 +0000 (10:05 -0300)]
[media] s5c73m3: Add missing rename of v4l2_of_get_next_endpoint() function
This fixes following build error:
CC drivers/media/i2c/s5c73m3/s5c73m3-core.o
CC drivers/md/dm-ioctl.o
CC net/ipv4/inet_lro.o
drivers/media/i2c/s5c73m3/s5c73m3-core.c: In function ‘s5c73m3_get_platform_data’:
drivers/media/i2c/s5c73m3/s5c73m3-core.c:1619:2: error: implicit declaration of function ‘v4l2_of_get_next_endpoint’ [-Werror=implicit-function-declaration]
drivers/media/i2c/s5c73m3/s5c73m3-core.c:1619:10: warning: assignment makes pointer from integer without a cast [enabled by default]
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Wed, 9 Apr 2014 21:08:37 +0000 (18:08 -0300)]
[media] rtl28xxu: silence error log about disabled rtl2832_sdr module
It printed a little bit too heavy looking error log "DVB: Unable to
find symbol rtl2832_sdr_attach()" when staging module was disabled.
Silence that error by introducing own version of dvb_attach() macro
without the error logging.
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Antti Palosaari [Wed, 9 Apr 2014 15:42:35 +0000 (12:42 -0300)]
[media] rtl28xxu: do not hard depend on staging SDR module
RTL2832 SDR extension module is currently on staging. SDR module
headers were included from staging causing direct dependency staging
directory. As a solution, add needed headers to main driver.
Motivation of that change comes from Luis / driver backports project.
Reported-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Cc: backports@vger.kernel.org
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Mauro Carvalho Chehab [Mon, 14 Apr 2014 15:00:36 +0000 (12:00 -0300)]
Merge tag 'v3.15-rc1' into patchwork
Linux 3.15-rc1
* tag 'v3.15-rc1': (12180 commits)
Linux 3.15-rc1
mm: Initialize error in shmem_file_aio_read()
cifs: Use min_t() when comparing "size_t" and "unsigned long"
sym53c8xx_2: Set DID_REQUEUE return code when aborting squeue
powerpc: Don't try to set LPCR unless we're in hypervisor mode
futex: update documentation for ordering guarantees
ceph: fix pr_fmt() redefinition
vti: don't allow to add the same tunnel twice
gre: don't allow to add the same tunnel twice
drivers: net: xen-netfront: fix array initialization bug
missing bits of "splice: fix racy pipe->buffers uses"
cifs: fix the race in cifs_writev()
ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure
pktgen: be friendly to LLTX devices
r8152: check RTL8152_UNPLUG
net: sun4i-emac: add promiscuous support
net/apne: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
blackfin: cleanup board files
bf609: clock: drop unused clock bit set/clear functions
Blackfin: bf537: rename "CONFIG_ADT75"
...
Linus Torvalds [Sun, 13 Apr 2014 21:18:35 +0000 (14:18 -0700)]
Linux 3.15-rc1
Geert Uytterhoeven [Sun, 13 Apr 2014 18:46:22 +0000 (20:46 +0200)]
mm: Initialize error in shmem_file_aio_read()
Some versions of gcc even warn about it:
mm/shmem.c: In function ‘shmem_file_aio_read’:
mm/shmem.c:1414: warning: ‘error’ may be used uninitialized in this function
If the loop is aborted during the first iteration by one of the two
first break statements, error will be uninitialized.
Introduced by commit
6e58e79db8a1 ("introduce copy_page_to_iter, kill
loop over iovec in generic_file_aio_read()").
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Geert Uytterhoeven [Sun, 13 Apr 2014 18:46:21 +0000 (20:46 +0200)]
cifs: Use min_t() when comparing "size_t" and "unsigned long"
On 32 bit, size_t is "unsigned int", not "unsigned long", causing the
following warning when comparing with PAGE_SIZE, which is always "unsigned
long":
fs/cifs/file.c: In function ‘cifs_readdata_to_iov’:
fs/cifs/file.c:2757: warning: comparison of distinct pointer types lacks a cast
Introduced by commit
7f25bba819a3 ("cifs_iovec_read: keep iov_iter
between the calls of cifs_readdata_to_iov()"), which changed the
signedness of "remaining" and the code from min_t() to min().
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sun, 13 Apr 2014 20:28:13 +0000 (13:28 -0700)]
Merge branch 'slab/next' of git://git./linux/kernel/git/penberg/linux
Pull slab changes from Pekka Enberg:
"The biggest change is byte-sized freelist indices which reduces slab
freelist memory usage:
https://lkml.org/lkml/2013/12/2/64"
* 'slab/next' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:
mm: slab/slub: use page->list consistently instead of page->lru
mm/slab.c: cleanup outdated comments and unify variables naming
slab: fix wrongly used macro
slub: fix high order page allocation problem with __GFP_NOFAIL
slab: Make allocations with GFP_ZERO slightly more efficient
slab: make more slab management structure off the slab
slab: introduce byte sized index for the freelist of a slab
slab: restrict the number of objects in a slab
slab: introduce helper functions to get/set free object
slab: factor out calculate nr objects in cache_estimate
Linus Torvalds [Sun, 13 Apr 2014 01:22:27 +0000 (18:22 -0700)]
Merge branch 'misc' of git://git./linux/kernel/git/mmarek/kbuild
Pull misc kbuild changes from Michal Marek:
"Here is the non-critical part of kbuild:
- One bogus coccinelle check removed, one check fixed not to suggest
the obsolete PTR_RET macro
- scripts/tags.sh does not index the generated *.mod.c files
- new objdiff tool to list differences between two versions of an
object file
- A fix for scripts/bootgraph.pl"
* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
scripts/coccinelle: Use PTR_ERR_OR_ZERO
scripts/bootgraph.pl: Add graphic header
scripts: objdiff: detect object code changes between two commits
Coccicheck: Remove memcpy to struct assignment test
scripts/tags.sh: Ignore *.mod.c
Mikulas Patocka [Wed, 9 Apr 2014 01:52:05 +0000 (21:52 -0400)]
sym53c8xx_2: Set DID_REQUEUE return code when aborting squeue
This patch fixes I/O errors with the sym53c8xx_2 driver when the disk
returns QUEUE FULL status.
When the controller encounters an error (including QUEUE FULL or BUSY
status), it aborts all not yet submitted requests in the function
sym_dequeue_from_squeue.
This function aborts them with DID_SOFT_ERROR.
If the disk has full tag queue, the request that caused the overflow is
aborted with QUEUE FULL status (and the scsi midlayer properly retries
it until it is accepted by the disk), but the sym53c8xx_2 driver aborts
the following requests with DID_SOFT_ERROR --- for them, the midlayer
does just a few retries and then signals the error up to sd.
The result is that disk returning QUEUE FULL causes request failures.
The error was reproduced on 53c895 with COMPAQ
BD03685A24 disk
(rebranded ST336607LC) with command queue 48 or 64 tags. The disk has
64 tags, but under some access patterns it return QUEUE FULL when there
are less than 64 pending tags. The SCSI specification allows returning
QUEUE FULL anytime and it is up to the host to retry.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Paul Mackerras [Fri, 11 Apr 2014 06:43:35 +0000 (16:43 +1000)]
powerpc: Don't try to set LPCR unless we're in hypervisor mode
Commit
8f619b5429d9 ("powerpc/ppc64: Do not turn AIL (reloc-on
interrupts) too early") added code to set the AIL bit in the LPCR
without checking whether the kernel is running in hypervisor mode. The
result is that when the kernel is running as a guest (i.e., under
PowerKVM or PowerVM), the processor takes a privileged instruction
interrupt at that point, causing a panic. The visible result is that
the kernel hangs after printing "returning from prom_init".
This fixes it by checking for hypervisor mode being available before
setting LPCR. If we are not in hypervisor mode, we enable relocation-on
interrupts later in pSeries_setup_arch using the H_SET_MODE hcall.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Davidlohr Bueso [Wed, 9 Apr 2014 18:55:07 +0000 (11:55 -0700)]
futex: update documentation for ordering guarantees
Commits
11d4616bd07f ("futex: revert back to the explicit waiter
counting code") and
69cd9eba3886 ("futex: avoid race between requeue and
wake") changed some of the finer details of how we think about futexes.
One was a late fix and the other a consequence of overlooking the whole
requeuing logic.
The first change caused our documentation to be incorrect, and the
second made us aware that we need to explicitly add more details to it.
Signed-off-by: Davidlohr Bueso <davidlohr@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sun, 13 Apr 2014 00:31:22 +0000 (17:31 -0700)]
Merge git://git./linux/kernel/git/davem/net
Pull yet more networking updates from David Miller:
1) Various fixes to the new Redpine Signals wireless driver, from
Fariya Fatima.
2) L2TP PPP connect code takes PMTU from the wrong socket, fix from
Dmitry Petukhov.
3) UFO and TSO packets differ in whether they include the protocol
header in gso_size, account for that in skb_gso_transport_seglen().
From Florian Westphal.
4) If VLAN untagging fails, we double free the SKB in the bridging
output path. From Toshiaki Makita.
5) Several call sites of sk->sk_data_ready() were referencing an SKB
just added to the socket receive queue in order to calculate the
second argument via skb->len. This is dangerous because the moment
the skb is added to the receive queue it can be consumed in another
context and freed up.
It turns out also that none of the sk->sk_data_ready()
implementations even care about this second argument.
So just kill it off and thus fix all these use-after-free bugs as a
side effect.
6) Fix inverted test in tcp_v6_send_response(), from Lorenzo Colitti.
7) pktgen needs to do locking properly for LLTX devices, from Daniel
Borkmann.
8) xen-netfront driver initializes TX array entries in RX loop :-) From
Vincenzo Maffione.
9) After refactoring, some tunnel drivers allow a tunnel to be
configured on top itself. Fix from Nicolas Dichtel.
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (46 commits)
vti: don't allow to add the same tunnel twice
gre: don't allow to add the same tunnel twice
drivers: net: xen-netfront: fix array initialization bug
pktgen: be friendly to LLTX devices
r8152: check RTL8152_UNPLUG
net: sun4i-emac: add promiscuous support
net/apne: replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO
net: ipv6: Fix oif in TCP SYN+ACK route lookup.
drivers: net: cpsw: enable interrupts after napi enable and clearing previous interrupts
drivers: net: cpsw: discard all packets received when interface is down
net: Fix use after free by removing length arg from sk_data_ready callbacks.
Drivers: net: hyperv: Address UDP checksum issues
Drivers: net: hyperv: Negotiate suitable ndis version for offload support
Drivers: net: hyperv: Allocate memory for all possible per-pecket information
bridge: Fix double free and memory leak around br_allowed_ingress
bonding: Remove debug_fs files when module init fails
i40evf: program RSS LUT correctly
i40evf: remove open-coded skb_cow_head
ixgb: remove open-coded skb_cow_head
igbvf: remove open-coded skb_cow_head
...
Linus Torvalds [Sun, 13 Apr 2014 00:26:45 +0000 (17:26 -0700)]
Merge tag 'blackfin-for-linus' of git://git./linux/kernel/git/realmz6/blackfin-linux
Pull blackfin updates from Steven Miao:
"Code cleanup, some previously ignored patches, and bug fixes"
* tag 'blackfin-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/realmz6/blackfin-linux:
blackfin: cleanup board files
bf609: clock: drop unused clock bit set/clear functions
Blackfin: bf537: rename "CONFIG_ADT75"
Blackfin: bf537: rename "CONFIG_AD7314"
Blackfin: bf537: rename ad2s120x ->ad2s1200
blackfin: bf537: fix typo "CONFIG_SND_SOC_ADV80X_MODULE"
blackfin: dma: current count mmr is read only
bfin_crc: Move architecture independant crc header file out of the blackfin folder.
bf54x: drop unuesd HOST status,control,timeout registers bit define macros
blackfin: portmux: cleanup head file
Blackfin: remove "config IP_CHECKSUM_L1"
blackfin: Remove GENERIC_GPIO config option again
blackfin:Use generic /proc/interrupts implementation
blackfin: bf60x: fix typo "CONFIG_PM_BFIN_WAKE_PA15_POL"
Linus Torvalds [Sun, 13 Apr 2014 00:23:12 +0000 (17:23 -0700)]
Merge tag 'remoteproc-3.15-cleanups' of git://git./linux/kernel/git/ohad/remoteproc
Pull remoteproc cleanups from Ohad Ben-Cohen:
"Several remoteproc cleanup patches coming from Jingoo Han, Julia
Lawall and Uwe Kleine-König"
* tag 'remoteproc-3.15-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad/remoteproc:
remoteproc/ste_modem: staticize local symbols
remoteproc/davinci: simplify use of devm_ioremap_resource
remoteproc/davinci: drop needless devm_clk_put
Linus Torvalds [Sun, 13 Apr 2014 00:00:40 +0000 (17:00 -0700)]
Merge tag 'llvmlinux-for-v3.15' of git://git.linuxfoundation.org/llvmlinux/kernel
Pull llvm patches from Behan Webster:
"These are some initial updates to support compiling the kernel with
clang.
These patches have been through the proper reviews to the best of my
ability, and have been soaking in linux-next for a few weeks. These
patches by themselves still do not completely allow clang to be used
with the kernel code, but lay the foundation for other patches which
are still under review.
Several other of the LLVMLinux patches have been already added via
maintainer trees"
* tag 'llvmlinux-for-v3.15' of git://git.linuxfoundation.org/llvmlinux/kernel:
x86: LLVMLinux: Fix "incomplete type const struct x86cpu_device_id"
x86 kbuild: LLVMLinux: More cc-options added for clang
x86, acpi: LLVMLinux: Remove nested functions from Thinkpad ACPI
LLVMLinux: Add support for clang to compiler.h and new compiler-clang.h
LLVMLinux: Remove warning about returning an uninitialized variable
kbuild: LLVMLinux: Fix LINUX_COMPILER definition script for compilation with clang
Documentation: LLVMLinux: Update Documentation/dontdiff
kbuild: LLVMLinux: Adapt warnings for compilation with clang
kbuild: LLVMLinux: Add Kbuild support for building kernel with Clang
Linus Torvalds [Sat, 12 Apr 2014 23:51:08 +0000 (16:51 -0700)]
Merge branch 'for-next' of git://git./linux/kernel/git/nab/target-pending
Pull SCSI target updates from Nicholas Bellinger:
"Here are the target pending updates for v3.15-rc1. Apologies in
advance for waiting until the second to last day of the merge window
to send these out.
The highlights this round include:
- iser-target support for T10 PI (DIF) offloads (Sagi + Or)
- Fix Task Aborted Status (TAS) handling in target-core (Alex Leung)
- Pass in transport supported PI at session initialization (Sagi + MKP + nab)
- Add WRITE_INSERT + READ_STRIP T10 PI support in target-core (nab + Sagi)
- Fix iscsi-target ERL=2 ASYNC_EVENT connection pointer bug (nab)
- Fix tcm_fc use-after-free of ft_tpg (Andy Grover)
- Use correct ib_sg_dma primitives in ib_isert (Mike Marciniszyn)
Also, note the virtio-scsi + vhost-scsi changes to expose T10 PI
metadata into KVM guest have been left-out for now, as there where a
few comments from MST + Paolo that where not able to be addressed in
time for v3.15. Please expect this feature for v3.16-rc1"
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (43 commits)
ib_srpt: Use correct ib_sg_dma primitives
target/tcm_fc: Rename ft_tport_create to ft_tport_get
target/tcm_fc: Rename ft_{add,del}_lport to {add,del}_wwn
target/tcm_fc: Rename structs and list members for clarity
target/tcm_fc: Limit to 1 TPG per wwn
target/tcm_fc: Don't export ft_lport_list
target/tcm_fc: Fix use-after-free of ft_tpg
target: Add check to prevent Abort Task from aborting itself
target: Enable READ_STRIP emulation in target_complete_ok_work
target/sbc: Add sbc_dif_read_strip software emulation
target: Enable WRITE_INSERT emulation in target_execute_cmd
target/sbc: Add sbc_dif_generate software emulation
target/sbc: Only expose PI read_cap16 bits when supported by fabric
target/spc: Only expose PI mode page bits when supported by fabric
target/spc: Only expose PI inquiry bits when supported by fabric
target: Pass in transport supported PI at session initialization
target/iblock: Fix double bioset_integrity_free bug
Target/sbc: Initialize COMPARE_AND_WRITE write_sg scatterlist
target/rd: T10-Dif: RAM disk is allocating more space than required.
iscsi-target: Fix ERL=2 ASYNC_EVENT connection pointer bug
...
Linus Torvalds [Sat, 12 Apr 2014 23:18:17 +0000 (16:18 -0700)]
Merge branch 'v4l_for_linus' of git://git./linux/kernel/git/mchehab/linux-media
Pull media fixes from Mauro Carvalho Chehab:
"A series of bug fix patches for v3.15-rc1. Most are just driver
fixes. There are some changes at remote controller core level, fixing
some definitions on a new API added for Kernel v3.15.
It also adds the missing include at include/uapi/linux/v4l2-common.h,
to allow its compilation on userspace, as pointed by you"
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (24 commits)
[media] gpsca: remove the risk of a division by zero
[media] stk1160: warrant a NUL terminated string
[media] v4l: ti-vpe: retain v4l2_buffer flags for captured buffers
[media] v4l: ti-vpe: Set correct field parameter for output and capture buffers
[media] v4l: ti-vpe: zero out reserved fields in try_fmt
[media] v4l: ti-vpe: Fix initial configuration queue data
[media] v4l: ti-vpe: Use correct bus_info name for the device in querycap
[media] v4l: ti-vpe: report correct capabilities in querycap
[media] v4l: ti-vpe: Allow usage of smaller images
[media] v4l: ti-vpe: Use video_device_release_empty
[media] v4l: ti-vpe: Make sure in job_ready that we have the needed number of dst_bufs
[media] lgdt3305: include sleep functionality in lgdt3304_ops
[media] drx-j: use customise option correctly
[media] m88rs2000: fix sparse static warnings
[media] r820t: fix size and init values
[media] rc-core: remove generic scancode filter
[media] rc-core: split dev->s_filter
[media] rc-core: do not change 32bit NEC scancode format for now
[media] rtl28xxu: remove duplicate ID 0458:707f Genius TVGo DVB-T03
[media] xc2028: add missing break to switch
...
Linus Torvalds [Sat, 12 Apr 2014 23:16:39 +0000 (16:16 -0700)]
Merge tag 'ntb-3.15' of git://github.com/jonmason/ntb
Pull PCIe non-transparent bridge fixes and features from Jon Mason:
"NTB driver bug fixes to address issues in list traversal, skb leak in
ntb_netdev, a typo, and a leak of msix entries in the error path.
Clean ups of the event handling logic, as well as a overall style
cleanup. Finally, the driver was converted to use the new
pci_enable_msix_range logic (and the refactoring to go along with it)"
* tag 'ntb-3.15' of git://github.com/jonmason/ntb:
ntb: Use pci_enable_msix_range() instead of pci_enable_msix()
ntb: Split ntb_setup_msix() into separate BWD/SNB routines
ntb: Use pci_msix_vec_count() to obtain number of MSI-Xs
NTB: Code Style Clean-up
NTB: client event cleanup
ntb: Fix leakage of ntb_device::msix_entries[] array
NTB: Fix typo in setting one translation register
ntb_netdev: Fix skb free issue in open
ntb_netdev: Fix list_for_each_entry exit issue
Linus Torvalds [Sat, 12 Apr 2014 22:39:53 +0000 (15:39 -0700)]
ceph: fix pr_fmt() redefinition
The vfs merge caused a latent bug to show up:
In file included from fs/ceph/super.h:4:0,
from fs/ceph/ioctl.c:3:
include/linux/ceph/ceph_debug.h:4:0: warning: "pr_fmt" redefined [enabled by default]
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
^
In file included from include/linux/kernel.h:13:0,
from include/linux/uio.h:12,
from include/linux/socket.h:7,
from include/uapi/linux/in.h:22,
from include/linux/in.h:23,
from fs/ceph/ioctl.c:1:
include/linux/printk.h:214:0: note: this is the location of the previous definition
#define pr_fmt(fmt) fmt
^
where the reason is that <linux/ceph_debug.h> is included much too late
for the "pr_fmt()" define.
The include of <linux/ceph_debug.h> needs to be the first include in the
file, but fs/ceph/ioctl.c had for some reason missed that, and it wasn't
noticeable until some unrelated header file changes brought in an
indirect earlier include of <linux/kernel.h>.
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Sat, 12 Apr 2014 21:49:50 +0000 (14:49 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/viro/vfs
Pull vfs updates from Al Viro:
"The first vfs pile, with deep apologies for being very late in this
window.
Assorted cleanups and fixes, plus a large preparatory part of iov_iter
work. There's a lot more of that, but it'll probably go into the next
merge window - it *does* shape up nicely, removes a lot of
boilerplate, gets rid of locking inconsistencie between aio_write and
splice_write and I hope to get Kent's direct-io rewrite merged into
the same queue, but some of the stuff after this point is having
(mostly trivial) conflicts with the things already merged into
mainline and with some I want more testing.
This one passes LTP and xfstests without regressions, in addition to
usual beating. BTW, readahead02 in ltp syscalls testsuite has started
giving failures since "mm/readahead.c: fix readahead failure for
memoryless NUMA nodes and limit readahead pages" - might be a false
positive, might be a real regression..."
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
missing bits of "splice: fix racy pipe->buffers uses"
cifs: fix the race in cifs_writev()
ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure
kill generic_file_buffered_write()
ocfs2_file_aio_write(): switch to generic_perform_write()
ceph_aio_write(): switch to generic_perform_write()
xfs_file_buffered_aio_write(): switch to generic_perform_write()
export generic_perform_write(), start getting rid of generic_file_buffer_write()
generic_file_direct_write(): get rid of ppos argument
btrfs_file_aio_write(): get rid of ppos
kill the 5th argument of generic_file_buffered_write()
kill the 4th argument of __generic_file_aio_write()
lustre: don't open-code kernel_recvmsg()
ocfs2: don't open-code kernel_recvmsg()
drbd: don't open-code kernel_recvmsg()
constify blk_rq_map_user_iov() and friends
lustre: switch to kernel_sendmsg()
ocfs2: don't open-code kernel_sendmsg()
take iov_iter stuff to mm/iov_iter.c
process_vm_access: tidy up a bit
...
David S. Miller [Sat, 12 Apr 2014 21:03:20 +0000 (17:03 -0400)]
Merge branch 'tunnels'
Nicolas Dichtel says:
====================
tunnels: don't allow to add the same tunnel twice
This series fixes the check of an existing tunnel with the same
parameters when a new tunnel is added. I've checked all users of
ip_tunnel_newlink(): gre, gretap, ipip and vti. The bug exists only
for gre and vti.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Nicolas Dichtel [Fri, 11 Apr 2014 13:51:19 +0000 (15:51 +0200)]
vti: don't allow to add the same tunnel twice
Before the patch, it was possible to add two times the same tunnel:
ip l a vti1 type vti remote 10.16.0.121 local 10.16.0.249 key 41
ip l a vti2 type vti remote 10.16.0.121 local 10.16.0.249 key 41
It was possible, because ip_tunnel_newlink() calls ip_tunnel_find() with the
argument dev->type, which was set only later (when calling ndo_init handler
in register_netdevice()). Let's set this type in the setup handler, which is
called before newlink handler.
Introduced by commit
b9959fd3b0fa ("vti: switch to new ip tunnel code").
CC: Cong Wang <amwang@redhat.com>
CC: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Nicolas Dichtel [Fri, 11 Apr 2014 13:51:18 +0000 (15:51 +0200)]
gre: don't allow to add the same tunnel twice
Before the patch, it was possible to add two times the same tunnel:
ip l a gre1 type gre remote 10.16.0.121 local 10.16.0.249
ip l a gre2 type gre remote 10.16.0.121 local 10.16.0.249
It was possible, because ip_tunnel_newlink() calls ip_tunnel_find() with the
argument dev->type, which was set only later (when calling ndo_init handler
in register_netdevice()). Let's set this type in the setup handler, which is
called before newlink handler.
Introduced by commit
c54419321455 ("GRE: Refactor GRE tunneling code.").
CC: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Vincenzo Maffione [Sat, 12 Apr 2014 09:55:40 +0000 (11:55 +0200)]
drivers: net: xen-netfront: fix array initialization bug
This patch fixes the initialization of an array used in the TX
datapath that was mistakenly initialized together with the
RX datapath arrays. An out of range array access could happen
when RX and TX rings had different sizes.
Signed-off-by: Vincenzo Maffione <v.maffione@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller [Sat, 12 Apr 2014 20:36:44 +0000 (16:36 -0400)]
Merge branch 'master' of git://git./linux/kernel/git/jkirsher/net
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates
This series contains updates to e1000, e1000e, igb, igbvf, ixgb, ixgbe,
ixgbevf and i40evf.
Mark fixes an issue with ixgbe and ixgbevf by adding a bit to indicate
when workqueues have been initialized. This permits the register read
error handling from attempting to use them prior to that, which also
generates warnings. Checking for a detected removal after initializing
the work queues allows the probe function to return an error without
getting the workqueue involved. Further, if the error_detected
callback is entered before the workqueues are initialized, exit without
recovery since the device initialization was so truncated.
Francois Romieu provides several patches to all the drivers to remove
the open coded skb_cow_head.
Jakub Kicinski provides a fix for igb where last_rx_timestamp should be
updated only when Rx time stamp is read.
Mitch provides a fix for i40evf where a recent change broke the RSS LUT
programming causing it to be programmed with all 0's.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Sat, 12 Apr 2014 20:06:10 +0000 (13:06 -0700)]
Merge tag 'trace-3.15-v2' of git://git./linux/kernel/git/rostedt/linux-trace
Pull more tracing updates from Steven Rostedt:
"This includes the final patch to clean up and fix the issue with the
design of tracepoints and how a user could register a tracepoint and
have that tracepoint not be activated but no error was shown.
The design was for an out of tree module but broke in tree users. The
clean up was to remove the saving of the hash table of tracepoint
names such that they can be enabled before they exist (enabling a
module tracepoint before that module is loaded). This added more
complexity than needed. The clean up was to remove that code and just
enable tracepoints that exist or fail if they do not.
This removed a lot of code as well as the complexity that it brought.
As a side effect, instead of registering a tracepoint by its name, the
tracepoint needs to be registered with the tracepoint descriptor.
This removes having to duplicate the tracepoint names that are
enabled.
The second patch was added that simplified the way modules were
searched for.
This cleanup required changes that were in the 3.15 queue as well as
some changes that were added late in the 3.14-rc cycle. This final
change waited till the two were merged in upstream and then the change
was added and full tests were run. Unfortunately, the test found some
errors, but after it was already submitted to the for-next branch and
not to be rebased. Sparse errors were detected by Fengguang Wu's bot
tests, and my internal tests discovered that the anonymous union
initialization triggered a bug in older gcc compilers. Luckily, there
was a bugzilla for the gcc bug which gave a work around to the
problem. The third and fourth patch handled the sparse error and the
gcc bug respectively.
A final patch was tagged along to fix a missing documentation for the
README file"
* tag 'trace-3.15-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
tracing: Add missing function triggers dump and cpudump to README
tracing: Fix anonymous unions in struct ftrace_event_call
tracepoint: Fix sparse warnings in tracepoint.c
tracepoint: Simplify tracepoint module search
tracepoint: Use struct pointer instead of name hash for reg/unreg tracepoints
Linus Torvalds [Sat, 12 Apr 2014 19:38:53 +0000 (12:38 -0700)]
Merge git://git.infradead.org/users/eparis/audit
Pull audit updates from Eric Paris.
* git://git.infradead.org/users/eparis/audit: (28 commits)
AUDIT: make audit_is_compat depend on CONFIG_AUDIT_COMPAT_GENERIC
audit: renumber AUDIT_FEATURE_CHANGE into the 1300 range
audit: do not cast audit_rule_data pointers pointlesly
AUDIT: Allow login in non-init namespaces
audit: define audit_is_compat in kernel internal header
kernel: Use RCU_INIT_POINTER(x, NULL) in audit.c
sched: declare pid_alive as inline
audit: use uapi/linux/audit.h for AUDIT_ARCH declarations
syscall_get_arch: remove useless function arguments
audit: remove stray newline from audit_log_execve_info() audit_panic() call
audit: remove stray newlines from audit_log_lost messages
audit: include subject in login records
audit: remove superfluous new- prefix in AUDIT_LOGIN messages
audit: allow user processes to log from another PID namespace
audit: anchor all pid references in the initial pid namespace
audit: convert PPIDs to the inital PID namespace.
pid: get pid_t ppid of task in init_pid_ns
audit: rename the misleading audit_get_context() to audit_take_context()
audit: Add generic compat syscall support
audit: Add CONFIG_HAVE_ARCH_AUDITSYSCALL
...
Al Viro [Fri, 11 Apr 2014 16:01:03 +0000 (12:01 -0400)]
missing bits of "splice: fix racy pipe->buffers uses"
that commit has fixed only the parts of that mess in fs/splice.c itself;
there had been more in several other ->splice_read() instances...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Thu, 3 Apr 2014 14:27:17 +0000 (10:27 -0400)]
cifs: fix the race in cifs_writev()
O_APPEND handling there hadn't been completely fixed by Pavel's
patch; it checks the right value, but it's racy - we can't really
do that until i_mutex has been taken.
Fix by switching to __generic_file_aio_write() (open-coding
generic_file_aio_write(), actually) and pulling mutex_lock() above
inode_size_read().
Cc: stable@vger.kernel.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro [Fri, 4 Apr 2014 02:44:19 +0000 (22:44 -0400)]
ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure
ceph_osdc_put_request(ERR_PTR(-error)) oopses. What we want there
is break, not goto out.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Daniel Borkmann [Fri, 11 Apr 2014 11:22:00 +0000 (13:22 +0200)]
pktgen: be friendly to LLTX devices
Similarly to commit
43279500deca ("packet: respect devices with
LLTX flag in direct xmit"), we can basically apply the very same
to pktgen. This will help testing against LLTX devices such as
dummy driver (or others), which only have a single netdevice txq
and would otherwise require locking their txq from pktgen side
while e.g. in dummy case, we would not need any locking. Fix this
by making use of HARD_TX_{UN,}LOCK API, so that NETIF_F_LLTX will
be respected.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
hayeswang [Fri, 11 Apr 2014 09:54:31 +0000 (17:54 +0800)]
r8152: check RTL8152_UNPLUG
When the device is unplugged, the driver would try to disable the
device. Add checking the flag of RTL8152_UNPLUG to skip setting
the device when it is unplugged. This could shorten the time of
unloading the driver.
Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This page took 0.057691 seconds and 5 git commands to generate.