All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luis Henriques <luis.henriques@canonical.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: Jiri Slaby <jslaby@suse.cz>,
	stable@vger.kernel.org, linux-kernel@vger.kernel.org,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Ben Hutchings <ben@decadent.org.uk>
Subject: Re: [PATCH 3.12 071/142] drm/i915: cope with large i2c transfers
Date: Mon, 18 May 2015 12:03:18 +0100	[thread overview]
Message-ID: <20150518110318.GE1719@ares> (raw)
In-Reply-To: <877fs62lsb.fsf@intel.com>

On Mon, May 18, 2015 at 02:00:04PM +0300, Jani Nikula wrote:
> On Mon, 18 May 2015, Jani Nikula <jani.nikula@intel.com> wrote:
> > On Mon, 18 May 2015, Luis Henriques <luis.henriques@canonical.com> wrote:
> >> On Sat, May 16, 2015 at 09:37:11AM +0200, Jiri Slaby wrote:
> >>> From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> >>> 
> >>> 3.12-stable review patch.  If anyone has any objections, please let me know.
> >>> 
> >>
> >> Ben Hutchings (on CC) just asked about this patch being included on
> >> the 3.16 kernel [1].  Is this patch really useful for kernels < 3.17?
> >> Should it be reverted from all the other stable kernels (3.10, 3.14
> >> and 3.16), or do you think it's harmless?
> >
> > The bug fixed by Dmitry's patch has been there since the introduction of
> > the gmbus code in v2.6.37 by
> >
> > commit f899fc64cda8569d0529452aafc0da31c042df2e
> > Author: Chris Wilson <chris@chris-wilson.co.uk>
> > Date:   Tue Jul 20 15:44:45 2010 -0700
> >
> >     drm/i915: use GMBUS to manage i2c links
> >
> > It's just that nobody noticed before
> >
> > commit 9d8dc3e529a19e427fd379118acd132520935c5d
> > Author: Nick Dyer <nick.dyer@itdev.co.uk>
> > Date:   Wed Jul 23 12:49:04 2014 -0700
> >
> >     Input: atmel_mxt_ts - implement T44 message handling
> 
> So to be clear, I think the fix is worth backporting anywhere you can
> easily backport. I did not check, but I think it may be possible to
> trigger this from userspace with the i2c interface.
> 
> 

Great, so it's definitely worth keeping it in all these stable trees.
Thanks a lot for the clarification, Jani.

Cheers,
--
Luís

> >
> >
> > BR,
> > Jani.
> >
> >
> >>
> >> [1] http://thread.gmane.org/gmane.linux.kernel.stable/136673
> >>
> >> Cheers,
> >> --
> >> Luís
> >>
> >>> ===============
> >>> 
> >>> commit 9535c4757b881e06fae72a857485ad57c422b8d2 upstream.
> >>> 
> >>> The hardware, according to the specs, is limited to 256 byte transfers,
> >>> and current driver has no protections in case users attempt to do larger
> >>> transfers. The code will just stomp over status register and mayhem
> >>> ensues.
> >>> 
> >>> Let's split larger transfers into digestable chunks. Doing this allows
> >>> Atmel MXT driver on Pixel 1 function properly (it hasn't since commit
> >>> 9d8dc3e529a19e427fd379118acd132520935c5d "Input: atmel_mxt_ts -
> >>> implement T44 message handling" which tries to consume multiple
> >>> touchscreen/touchpad reports in a single transaction).
> >>> 
> >>> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> >>> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> >>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >>> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> >>> ---
> >>>  drivers/gpu/drm/i915/i915_reg.h  |  1 +
> >>>  drivers/gpu/drm/i915/intel_i2c.c | 66 ++++++++++++++++++++++++++++++++++------
> >>>  2 files changed, 57 insertions(+), 10 deletions(-)
> >>> 
> >>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> >>> index 9d344da55056..4e0053e64f14 100644
> >>> --- a/drivers/gpu/drm/i915/i915_reg.h
> >>> +++ b/drivers/gpu/drm/i915/i915_reg.h
> >>> @@ -1105,6 +1105,7 @@
> >>>  #define   GMBUS_CYCLE_INDEX	(2<<25)
> >>>  #define   GMBUS_CYCLE_STOP	(4<<25)
> >>>  #define   GMBUS_BYTE_COUNT_SHIFT 16
> >>> +#define   GMBUS_BYTE_COUNT_MAX   256U
> >>>  #define   GMBUS_SLAVE_INDEX_SHIFT 8
> >>>  #define   GMBUS_SLAVE_ADDR_SHIFT 1
> >>>  #define   GMBUS_SLAVE_READ	(1<<0)
> >>> diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c
> >>> index d1c1e0f7f262..36b720475dc0 100644
> >>> --- a/drivers/gpu/drm/i915/intel_i2c.c
> >>> +++ b/drivers/gpu/drm/i915/intel_i2c.c
> >>> @@ -276,18 +276,17 @@ gmbus_wait_idle(struct drm_i915_private *dev_priv)
> >>>  }
> >>>  
> >>>  static int
> >>> -gmbus_xfer_read(struct drm_i915_private *dev_priv, struct i2c_msg *msg,
> >>> -		u32 gmbus1_index)
> >>> +gmbus_xfer_read_chunk(struct drm_i915_private *dev_priv,
> >>> +		      unsigned short addr, u8 *buf, unsigned int len,
> >>> +		      u32 gmbus1_index)
> >>>  {
> >>>  	int reg_offset = dev_priv->gpio_mmio_base;
> >>> -	u16 len = msg->len;
> >>> -	u8 *buf = msg->buf;
> >>>  
> >>>  	I915_WRITE(GMBUS1 + reg_offset,
> >>>  		   gmbus1_index |
> >>>  		   GMBUS_CYCLE_WAIT |
> >>>  		   (len << GMBUS_BYTE_COUNT_SHIFT) |
> >>> -		   (msg->addr << GMBUS_SLAVE_ADDR_SHIFT) |
> >>> +		   (addr << GMBUS_SLAVE_ADDR_SHIFT) |
> >>>  		   GMBUS_SLAVE_READ | GMBUS_SW_RDY);
> >>>  	while (len) {
> >>>  		int ret;
> >>> @@ -309,11 +308,35 @@ gmbus_xfer_read(struct drm_i915_private *dev_priv, struct i2c_msg *msg,
> >>>  }
> >>>  
> >>>  static int
> >>> -gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg)
> >>> +gmbus_xfer_read(struct drm_i915_private *dev_priv, struct i2c_msg *msg,
> >>> +		u32 gmbus1_index)
> >>>  {
> >>> -	int reg_offset = dev_priv->gpio_mmio_base;
> >>> -	u16 len = msg->len;
> >>>  	u8 *buf = msg->buf;
> >>> +	unsigned int rx_size = msg->len;
> >>> +	unsigned int len;
> >>> +	int ret;
> >>> +
> >>> +	do {
> >>> +		len = min(rx_size, GMBUS_BYTE_COUNT_MAX);
> >>> +
> >>> +		ret = gmbus_xfer_read_chunk(dev_priv, msg->addr,
> >>> +					    buf, len, gmbus1_index);
> >>> +		if (ret)
> >>> +			return ret;
> >>> +
> >>> +		rx_size -= len;
> >>> +		buf += len;
> >>> +	} while (rx_size != 0);
> >>> +
> >>> +	return 0;
> >>> +}
> >>> +
> >>> +static int
> >>> +gmbus_xfer_write_chunk(struct drm_i915_private *dev_priv,
> >>> +		       unsigned short addr, u8 *buf, unsigned int len)
> >>> +{
> >>> +	int reg_offset = dev_priv->gpio_mmio_base;
> >>> +	unsigned int chunk_size = len;
> >>>  	u32 val, loop;
> >>>  
> >>>  	val = loop = 0;
> >>> @@ -325,8 +348,8 @@ gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg)
> >>>  	I915_WRITE(GMBUS3 + reg_offset, val);
> >>>  	I915_WRITE(GMBUS1 + reg_offset,
> >>>  		   GMBUS_CYCLE_WAIT |
> >>> -		   (msg->len << GMBUS_BYTE_COUNT_SHIFT) |
> >>> -		   (msg->addr << GMBUS_SLAVE_ADDR_SHIFT) |
> >>> +		   (chunk_size << GMBUS_BYTE_COUNT_SHIFT) |
> >>> +		   (addr << GMBUS_SLAVE_ADDR_SHIFT) |
> >>>  		   GMBUS_SLAVE_WRITE | GMBUS_SW_RDY);
> >>>  	while (len) {
> >>>  		int ret;
> >>> @@ -343,6 +366,29 @@ gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg)
> >>>  		if (ret)
> >>>  			return ret;
> >>>  	}
> >>> +
> >>> +	return 0;
> >>> +}
> >>> +
> >>> +static int
> >>> +gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg)
> >>> +{
> >>> +	u8 *buf = msg->buf;
> >>> +	unsigned int tx_size = msg->len;
> >>> +	unsigned int len;
> >>> +	int ret;
> >>> +
> >>> +	do {
> >>> +		len = min(tx_size, GMBUS_BYTE_COUNT_MAX);
> >>> +
> >>> +		ret = gmbus_xfer_write_chunk(dev_priv, msg->addr, buf, len);
> >>> +		if (ret)
> >>> +			return ret;
> >>> +
> >>> +		buf += len;
> >>> +		tx_size -= len;
> >>> +	} while (tx_size != 0);
> >>> +
> >>>  	return 0;
> >>>  }
> >>>  
> >>> -- 
> >>> 2.3.7
> >>> 
> >>> --
> >>> To unsubscribe from this list: send the line "unsubscribe stable" in
> >>> the body of a message to majordomo@vger.kernel.org
> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> > -- 
> > Jani Nikula, Intel Open Source Technology Center
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center

WARNING: multiple messages have this Message-ID (diff)
From: Luis Henriques <luis.henriques@canonical.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: Jiri Slaby <jslaby@suse.cz>,
	stable@vger.kernel.org, linux-kernel@vger.kernel.org,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Ben Hutchings <ben@decadent.org.uk>
Subject: Re: [PATCH 3.12 071/142] drm/i915: cope with large i2c transfers
Date: Mon, 18 May 2015 12:03:18 +0100	[thread overview]
Message-ID: <20150518110318.GE1719@ares> (raw)
In-Reply-To: <877fs62lsb.fsf@intel.com>

On Mon, May 18, 2015 at 02:00:04PM +0300, Jani Nikula wrote:
> On Mon, 18 May 2015, Jani Nikula <jani.nikula@intel.com> wrote:
> > On Mon, 18 May 2015, Luis Henriques <luis.henriques@canonical.com> wrote:
> >> On Sat, May 16, 2015 at 09:37:11AM +0200, Jiri Slaby wrote:
> >>> From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> >>> 
> >>> 3.12-stable review patch.  If anyone has any objections, please let me know.
> >>> 
> >>
> >> Ben Hutchings (on CC) just asked about this patch being included on
> >> the 3.16 kernel [1].  Is this patch really useful for kernels < 3.17?
> >> Should it be reverted from all the other stable kernels (3.10, 3.14
> >> and 3.16), or do you think it's harmless?
> >
> > The bug fixed by Dmitry's patch has been there since the introduction of
> > the gmbus code in v2.6.37 by
> >
> > commit f899fc64cda8569d0529452aafc0da31c042df2e
> > Author: Chris Wilson <chris@chris-wilson.co.uk>
> > Date:   Tue Jul 20 15:44:45 2010 -0700
> >
> >     drm/i915: use GMBUS to manage i2c links
> >
> > It's just that nobody noticed before
> >
> > commit 9d8dc3e529a19e427fd379118acd132520935c5d
> > Author: Nick Dyer <nick.dyer@itdev.co.uk>
> > Date:   Wed Jul 23 12:49:04 2014 -0700
> >
> >     Input: atmel_mxt_ts - implement T44 message handling
> 
> So to be clear, I think the fix is worth backporting anywhere you can
> easily backport. I did not check, but I think it may be possible to
> trigger this from userspace with the i2c interface.
> 
> 

Great, so it's definitely worth keeping it in all these stable trees.
Thanks a lot for the clarification, Jani.

Cheers,
--
Lu�s

> >
> >
> > BR,
> > Jani.
> >
> >
> >>
> >> [1] http://thread.gmane.org/gmane.linux.kernel.stable/136673
> >>
> >> Cheers,
> >> --
> >> Lu�s
> >>
> >>> ===============
> >>> 
> >>> commit 9535c4757b881e06fae72a857485ad57c422b8d2 upstream.
> >>> 
> >>> The hardware, according to the specs, is limited to 256 byte transfers,
> >>> and current driver has no protections in case users attempt to do larger
> >>> transfers. The code will just stomp over status register and mayhem
> >>> ensues.
> >>> 
> >>> Let's split larger transfers into digestable chunks. Doing this allows
> >>> Atmel MXT driver on Pixel 1 function properly (it hasn't since commit
> >>> 9d8dc3e529a19e427fd379118acd132520935c5d "Input: atmel_mxt_ts -
> >>> implement T44 message handling" which tries to consume multiple
> >>> touchscreen/touchpad reports in a single transaction).
> >>> 
> >>> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
> >>> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> >>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >>> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
> >>> ---
> >>>  drivers/gpu/drm/i915/i915_reg.h  |  1 +
> >>>  drivers/gpu/drm/i915/intel_i2c.c | 66 ++++++++++++++++++++++++++++++++++------
> >>>  2 files changed, 57 insertions(+), 10 deletions(-)
> >>> 
> >>> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> >>> index 9d344da55056..4e0053e64f14 100644
> >>> --- a/drivers/gpu/drm/i915/i915_reg.h
> >>> +++ b/drivers/gpu/drm/i915/i915_reg.h
> >>> @@ -1105,6 +1105,7 @@
> >>>  #define   GMBUS_CYCLE_INDEX	(2<<25)
> >>>  #define   GMBUS_CYCLE_STOP	(4<<25)
> >>>  #define   GMBUS_BYTE_COUNT_SHIFT 16
> >>> +#define   GMBUS_BYTE_COUNT_MAX   256U
> >>>  #define   GMBUS_SLAVE_INDEX_SHIFT 8
> >>>  #define   GMBUS_SLAVE_ADDR_SHIFT 1
> >>>  #define   GMBUS_SLAVE_READ	(1<<0)
> >>> diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c
> >>> index d1c1e0f7f262..36b720475dc0 100644
> >>> --- a/drivers/gpu/drm/i915/intel_i2c.c
> >>> +++ b/drivers/gpu/drm/i915/intel_i2c.c
> >>> @@ -276,18 +276,17 @@ gmbus_wait_idle(struct drm_i915_private *dev_priv)
> >>>  }
> >>>  
> >>>  static int
> >>> -gmbus_xfer_read(struct drm_i915_private *dev_priv, struct i2c_msg *msg,
> >>> -		u32 gmbus1_index)
> >>> +gmbus_xfer_read_chunk(struct drm_i915_private *dev_priv,
> >>> +		      unsigned short addr, u8 *buf, unsigned int len,
> >>> +		      u32 gmbus1_index)
> >>>  {
> >>>  	int reg_offset = dev_priv->gpio_mmio_base;
> >>> -	u16 len = msg->len;
> >>> -	u8 *buf = msg->buf;
> >>>  
> >>>  	I915_WRITE(GMBUS1 + reg_offset,
> >>>  		   gmbus1_index |
> >>>  		   GMBUS_CYCLE_WAIT |
> >>>  		   (len << GMBUS_BYTE_COUNT_SHIFT) |
> >>> -		   (msg->addr << GMBUS_SLAVE_ADDR_SHIFT) |
> >>> +		   (addr << GMBUS_SLAVE_ADDR_SHIFT) |
> >>>  		   GMBUS_SLAVE_READ | GMBUS_SW_RDY);
> >>>  	while (len) {
> >>>  		int ret;
> >>> @@ -309,11 +308,35 @@ gmbus_xfer_read(struct drm_i915_private *dev_priv, struct i2c_msg *msg,
> >>>  }
> >>>  
> >>>  static int
> >>> -gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg)
> >>> +gmbus_xfer_read(struct drm_i915_private *dev_priv, struct i2c_msg *msg,
> >>> +		u32 gmbus1_index)
> >>>  {
> >>> -	int reg_offset = dev_priv->gpio_mmio_base;
> >>> -	u16 len = msg->len;
> >>>  	u8 *buf = msg->buf;
> >>> +	unsigned int rx_size = msg->len;
> >>> +	unsigned int len;
> >>> +	int ret;
> >>> +
> >>> +	do {
> >>> +		len = min(rx_size, GMBUS_BYTE_COUNT_MAX);
> >>> +
> >>> +		ret = gmbus_xfer_read_chunk(dev_priv, msg->addr,
> >>> +					    buf, len, gmbus1_index);
> >>> +		if (ret)
> >>> +			return ret;
> >>> +
> >>> +		rx_size -= len;
> >>> +		buf += len;
> >>> +	} while (rx_size != 0);
> >>> +
> >>> +	return 0;
> >>> +}
> >>> +
> >>> +static int
> >>> +gmbus_xfer_write_chunk(struct drm_i915_private *dev_priv,
> >>> +		       unsigned short addr, u8 *buf, unsigned int len)
> >>> +{
> >>> +	int reg_offset = dev_priv->gpio_mmio_base;
> >>> +	unsigned int chunk_size = len;
> >>>  	u32 val, loop;
> >>>  
> >>>  	val = loop = 0;
> >>> @@ -325,8 +348,8 @@ gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg)
> >>>  	I915_WRITE(GMBUS3 + reg_offset, val);
> >>>  	I915_WRITE(GMBUS1 + reg_offset,
> >>>  		   GMBUS_CYCLE_WAIT |
> >>> -		   (msg->len << GMBUS_BYTE_COUNT_SHIFT) |
> >>> -		   (msg->addr << GMBUS_SLAVE_ADDR_SHIFT) |
> >>> +		   (chunk_size << GMBUS_BYTE_COUNT_SHIFT) |
> >>> +		   (addr << GMBUS_SLAVE_ADDR_SHIFT) |
> >>>  		   GMBUS_SLAVE_WRITE | GMBUS_SW_RDY);
> >>>  	while (len) {
> >>>  		int ret;
> >>> @@ -343,6 +366,29 @@ gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg)
> >>>  		if (ret)
> >>>  			return ret;
> >>>  	}
> >>> +
> >>> +	return 0;
> >>> +}
> >>> +
> >>> +static int
> >>> +gmbus_xfer_write(struct drm_i915_private *dev_priv, struct i2c_msg *msg)
> >>> +{
> >>> +	u8 *buf = msg->buf;
> >>> +	unsigned int tx_size = msg->len;
> >>> +	unsigned int len;
> >>> +	int ret;
> >>> +
> >>> +	do {
> >>> +		len = min(tx_size, GMBUS_BYTE_COUNT_MAX);
> >>> +
> >>> +		ret = gmbus_xfer_write_chunk(dev_priv, msg->addr, buf, len);
> >>> +		if (ret)
> >>> +			return ret;
> >>> +
> >>> +		buf += len;
> >>> +		tx_size -= len;
> >>> +	} while (tx_size != 0);
> >>> +
> >>>  	return 0;
> >>>  }
> >>>  
> >>> -- 
> >>> 2.3.7
> >>> 
> >>> --
> >>> To unsubscribe from this list: send the line "unsubscribe stable" in
> >>> the body of a message to majordomo@vger.kernel.org
> >>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
> > -- 
> > Jani Nikula, Intel Open Source Technology Center
> 
> -- 
> Jani Nikula, Intel Open Source Technology Center

  reply	other threads:[~2015-05-18 11:03 UTC|newest]

Thread overview: 155+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-16  7:37 [PATCH 3.12 000/142] 3.12.43-stable review Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 001/142] ip_forward: Drop frames with attached skb->sk Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 002/142] tcp: fix possible deadlock in tcp_send_fin() Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 003/142] tcp: avoid looping " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 004/142] net: do not deplete pfmemalloc reserve Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 005/142] net: fix crash in build_skb() Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 006/142] Btrfs: fix log tree corruption when fs mounted with -o discard Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 007/142] btrfs: don't accept bare namespace as a valid xattr Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 008/142] Btrfs: fix inode eviction infinite loop after cloning into it Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 009/142] Btrfs: fix inode eviction infinite loop after extent_same ioctl Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 010/142] sched/idle/x86: Restore mwait_idle() to fix boot hangs, to improve power savings and to improve performance Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 011/142] mm/hugetlb: use pmd_page() in follow_huge_pmd() Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 012/142] drivers: parport: Kconfig: exclude arm64 for PARPORT_PC Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 013/142] usb: gadget: composite: enable BESL support Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 014/142] nosave: consolidate __nosave_{begin,end} in <asm/sections.h> Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 015/142] KVM: s390: Zero out current VMDB of STSI before including level3 data Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 016/142] s390/hibernate: fix save and restore of kernel text section Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 017/142] KVM: use slowpath for cross page cached accesses Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 018/142] MIPS: Hibernate: flush TLB entries earlier Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 019/142] cdc-wdm: fix endianness bug in debug statements Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 020/142] spi: spidev: fix possible arithmetic overflow for multi-transfer message Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 021/142] compal-laptop: Check return value of power_supply_register Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 022/142] ring-buffer: Replace this_cpu_*() with __this_cpu_*() Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 023/142] power_supply: twl4030_madc: Check return value of power_supply_register Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 024/142] power_supply: lp8788-charger: Fix leaked power supply on probe fail Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 025/142] ARM: 8320/1: fix integer overflow in ELF_ET_DYN_BASE Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 026/142] ARM: S3C64XX: Use fixed IRQ bases to avoid conflicts on Cragganmore Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 027/142] ARM: dts: dove: Fix uart[23] reg property Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 028/142] usb: phy: Find the right match in devm_usb_phy_match Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 029/142] usb: define a generic USB_RESUME_TIMEOUT macro Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 030/142] usb: host: fusbh200: use new USB_RESUME_TIMEOUT Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 031/142] usb: host: uhci: " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 032/142] usb: host: fotg210: " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 033/142] usb: host: r8a66597: " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 034/142] usb: host: isp116x: " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 035/142] usb: host: xhci: " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 036/142] usb: host: sl811: " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 037/142] usb: dwc2: hcd: " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 038/142] usb: core: hub: " Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 039/142] ALSA: emu10k1: don't deadlock in proc-functions Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 040/142] Input: elantech - fix absolute mode setting on some ASUS laptops Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 041/142] fs/binfmt_elf.c: fix bug in loading of PIE binaries Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 042/142] ptrace: fix race between ptrace_resume() and wait_task_stopped() Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 043/142] rtlwifi: rtl8192cu: Add new USB ID Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 044/142] rtlwifi: rtl8192cu: Add new device ID Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 045/142] arm64: vdso: fix build error when switching from LE to BE Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 046/142] ext4: make fsync to sync parent dir in no-journal for real this time Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 047/142] powerpc/perf: Cap 64bit userspace backtraces to PERF_MAX_STACK_DEPTH Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 048/142] tools lib traceevent kbuffer: Remove extra update to data pointer in PADDING Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 049/142] tools/power turbostat: Use $(CURDIR) instead of $(PWD) and add support for O= option in Makefile Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 050/142] UBI: account for bitflips in both the VID header and data Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 051/142] UBI: fix out of bounds write Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 052/142] UBI: initialize LEB number variable Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 053/142] UBI: fix check for "too many bytes" Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 054/142] scsi: storvsc: Fix a bug in copy_from_bounce_buffer() Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 055/142] target: Fix COMPARE_AND_WRITE with SG_TO_MEM_NOALLOC handling Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 056/142] Bluetooth: ath3k: Add support Atheros AR5B195 combo Mini PCIe card Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 057/142] powerpc: Fix missing L2 cache size in /sys/devices/system/cpu Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 058/142] ACPICA: Utilities: split IO address types from data type models Jiri Slaby
2015-05-16  7:36 ` [PATCH 3.12 059/142] xtensa: xtfpga: fix hardware lockup caused by LCD driver Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 060/142] xtensa: provide __NR_sync_file_range2 instead of __NR_sync_file_range Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 061/142] xtensa: ISS: fix locking in TAP network adapter Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 062/142] gpio: mvebu: Fix mask/unmask managment per irq chip type Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 063/142] Drivers: hv: vmbus: Fix a bug in the error path in vmbus_open() Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 064/142] mvsas: fix panic on expander attached SATA devices Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 065/142] stk1160: Make sure current buffer is released Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 066/142] IB/core: disallow registering 0-sized memory region Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 067/142] IB/core: don't disallow registering region starting at 0x0 Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 068/142] IB/mlx4: Fix WQE LSO segment calculation Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 069/142] i2c: core: Export bus recovery functions Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 070/142] drm/radeon: fix doublescan modes (v2) Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 071/142] drm/i915: cope with large i2c transfers Jiri Slaby
2015-05-18  9:56   ` Luis Henriques
2015-05-18  9:56     ` Luis Henriques
2015-05-18 10:57     ` Jani Nikula
2015-05-18 11:00       ` Jani Nikula
2015-05-18 11:03         ` Luis Henriques [this message]
2015-05-18 11:03           ` Luis Henriques
2015-05-16  7:37 ` [PATCH 3.12 072/142] RCU pathwalk breakage when running into a symlink overmounting something Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 073/142] ksoftirqd: Enable IRQs and call cond_resched() before poking RCU Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 074/142] e1000: add dummy allocator to fix race condition between mtu change and netpoll Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 075/142] lib: memzero_explicit: use barrier instead of OPTIMIZER_HIDE_VAR Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 076/142] wl18xx: show rx_frames_per_rates as an array as it really is Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 077/142] crypto: omap-aes - Fix support for unequal lengths Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 078/142] C6x: time: Ensure consistency in __init Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 079/142] memstick: mspro_block: add missing curly braces Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 080/142] driver core: bus: Goto appropriate labels on failure in bus_add_device Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 081/142] fs: take i_mutex during prepare_binprm for set[ug]id executables Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 082/142] mm: Fix NULL pointer dereference in madvise(MADV_WILLNEED) support Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 083/142] staging: panel: fix lcd type Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 084/142] ipv4: Missing sk_nulls_node_init() in ping_unhash() Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 085/142] UBI: fix soft lockup in ubi_check_volume() Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 086/142] ALSA: emux: Fix mutex deadlock at unloading Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 087/142] ALSA: emux: Fix mutex deadlock in OSS emulation Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 088/142] ALSA: emu10k1: Fix card shortname string buffer overflow Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 089/142] ALSA: emu10k1: Emu10k2 32 bit DMA mode Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 090/142] ALSA: hda - Fix mute-LED fixed mode Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 091/142] serial: of-serial: Remove device_type = "serial" registration Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 092/142] ASoC: dapm: Enable autodisable on SOC_DAPM_SINGLE_TLV_AUTODISABLE Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 093/142] tty/serial: at91: maxburst was missing for dma transfers Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 094/142] rbd: end I/O the entire obj_request on error Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 095/142] ext4: fix data corruption caused by unwritten and delayed extents Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 096/142] 3w-xxxx: fix command completion race Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 097/142] 3w-9xxx: " Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 098/142] 3w-sas: " Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 099/142] drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5 Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 100/142] usb: musb: use new USB_RESUME_TIMEOUT Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 101/142] usb: host: oxu210hp: " Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 102/142] usb: host: ehci: " Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 103/142] usb: gadget: printer: enqueue printer's response for setup request Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 104/142] Drivers: hv: vmbus: Don't wait after requesting offers Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 105/142] ARC: signal handling robustify Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 106/142] /proc/stat: convert to single_open_size() Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 107/142] seq_file: always clear m->count when we free m->buf Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 108/142] fs/seq_file: fallback to vmalloc allocation Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 109/142] mm: prevent endless growth of anon_vma hierarchy Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 110/142] mm: fix corner case in anon_vma endless growing prevention Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 111/142] mm: fix anon_vma->degree underflow " Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 112/142] ocfs2: dlm: fix race between purge and get lock resource Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 113/142] nilfs2: fix sanity check of btree level in nilfs_btree_root_broken() Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 114/142] RDMA/CMA: Canonize IPv4 on IPV6 sockets properly Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 115/142] gpio: unregister gpiochip device before removing it Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 116/142] gpio: sysfs: fix memory leaks and device hotplug Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 117/142] mnt: Fix fs_fully_visible to verify the root directory is visible Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 118/142] mm/memory-failure: call shake_page() when error hits thp tail page Jiri Slaby
2015-05-16  7:37 ` [PATCH 3.12 119/142] writeback: use |1 instead of +1 to protect against div by zero Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 120/142] mm: soft-offline: fix num_poisoned_pages counting on concurrent events Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 121/142] xen/console: Update console event channel on resume Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 122/142] ARM: dts: imx25: Add #pwm-cells to pwm4 Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 123/142] ARM: dts: imx28: Fix AUART4 TX-DMA interrupt name Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 124/142] ARM: dts: imx23-olinuxino: Fix dr_mode of usb0 Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 125/142] ARM: dts: imx23-olinuxino: Fix polarity of LED GPIO Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 126/142] ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 127/142] ARM: ux500: Move GPIO regulator for SD-card into board DTSs Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 128/142] ARM: ux500: Enable GPIO regulator for SD-card for HREF boards Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 129/142] ARM: ux500: Enable GPIO regulator for SD-card for snowball Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 130/142] drm/i915: Add missing MacBook Pro models with dual channel LVDS Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 131/142] drm/radeon: disable semaphores for UVD V1 (v2) Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 132/142] drm/radeon: make UVD handle checking more strict Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 133/142] drm/radeon: more strictly validate the UVD codec Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 134/142] pinctrl: Don't just pretend to protect pinctrl_maps, do it for real Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 135/142] mmc: card: Don't access RPMB partitions for normal read/write Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 136/142] mmc: core: add missing pm event in mmc_pm_notify to fix hib restore Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 137/142] mmc: sh_mmcif: Fix timeout value for command request Jiri Slaby
2015-05-16 11:05   ` Albino Biasutti Neto
2015-05-16 11:23     ` Jiri Slaby
2015-05-18  0:37       ` Simon Horman
2015-05-18 13:15         ` Albino Biasutti Neto
2015-05-16  7:38 ` [PATCH 3.12 138/142] sound/oss: fix deadlock in sequencer_ioctl(SNDCTL_SEQ_OUTOFBAND) Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 139/142] ACPICA: Tables: Change acpi_find_root_pointer() to use acpi_physical_address Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 140/142] ACPICA: Utilities: Cleanup to enforce ACPI_PHYSADDR_TO_PTR()/ACPI_PTR_TO_PHYSADDR() Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 141/142] ACPICA: Utilities: Cleanup to convert physical address printing formats Jiri Slaby
2015-05-16  7:38 ` [PATCH 3.12 142/142] ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx helpers Jiri Slaby
2015-05-16 16:55 ` [PATCH 3.12 000/142] 3.12.43-stable review Guenter Roeck
2015-05-17 11:31   ` Jiri Slaby

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150518110318.GE1719@ares \
    --to=luis.henriques@canonical.com \
    --cc=ben@decadent.org.uk \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jani.nikula@intel.com \
    --cc=jslaby@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.