diff mbox

mtd: nand: fix ONFI parameter page layout

Message ID 1448274187-22174-1-git-send-email-boris.brezillon@free-electrons.com
State Accepted
Commit de64aa9ec129ba627634088f662a4d09e356ddb6
Headers show

Commit Message

Boris Brezillon Nov. 23, 2015, 10:23 a.m. UTC
src_ssync_features field is only 1 byte large, and the 4th reserved area
is actually 8 bytes large.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Fixes d1e1f4e42b5 ("mtd: nand: add support for reading ONFI parameters from NAND device")
Cc: <stable@vger.kernel.org> #v2.6.37+
---
 include/linux/mtd/nand.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Brian Norris Nov. 30, 2015, 8:17 p.m. UTC | #1
On Mon, Nov 23, 2015 at 11:23:07AM +0100, Boris Brezillon wrote:
> src_ssync_features field is only 1 byte large, and the 4th reserved area
> is actually 8 bytes large.
> 
> Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> Fixes d1e1f4e42b5 ("mtd: nand: add support for reading ONFI parameters from NAND device")
> Cc: <stable@vger.kernel.org> #v2.6.37+

Did you see an actual problem from this? (And is this deserving of
stable?) I could imagine an out-of-tree driver might try to use t_ald
(which should actually be t_adl, right?) and get the wrong value. But no
one does that in-tree yet.

> ---
>  include/linux/mtd/nand.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
> index 5a9d1d4..93fc372 100644
> --- a/include/linux/mtd/nand.h
> +++ b/include/linux/mtd/nand.h
> @@ -276,7 +276,7 @@ struct nand_onfi_params {
>  	__le16 t_r;
>  	__le16 t_ccs;
>  	__le16 src_sync_timing_mode;
> -	__le16 src_ssync_features;
> +	u8 src_ssync_features;
>  	__le16 clk_pin_capacitance_typ;
>  	__le16 io_pin_capacitance_typ;
>  	__le16 input_pin_capacitance_typ;
> @@ -284,7 +284,7 @@ struct nand_onfi_params {
>  	u8 driver_strength_support;
>  	__le16 t_int_r;
>  	__le16 t_ald;
> -	u8 reserved4[7];
> +	u8 reserved4[8];
>  
>  	/* vendor */
>  	__le16 vendor_revision;

Patch looks good.

Brian
Boris Brezillon Dec. 1, 2015, 9:33 a.m. UTC | #2
Hi Brian,

On Mon, 30 Nov 2015 12:17:29 -0800
Brian Norris <computersforpeace@gmail.com> wrote:

> On Mon, Nov 23, 2015 at 11:23:07AM +0100, Boris Brezillon wrote:
> > src_ssync_features field is only 1 byte large, and the 4th reserved area
> > is actually 8 bytes large.
> > 
> > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> > Fixes d1e1f4e42b5 ("mtd: nand: add support for reading ONFI parameters from NAND device")
> > Cc: <stable@vger.kernel.org> #v2.6.37+
> 
> Did you see an actual problem from this? (And is this deserving of
> stable?) I could imagine an out-of-tree driver might try to use t_ald
> (which should actually be t_adl, right?)

Yes, should be t_adl, not t_ald. Do you want me to send another patch
for that, or will you take care of it?

> and get the wrong value. But no
> one does that in-tree yet.

Fair enough, we can just drop the stable and fixes tag. Do you want me
to resend it?

Best Regards,

Boris
Brian Norris Dec. 1, 2015, 7:05 p.m. UTC | #3
On Tue, Dec 01, 2015 at 10:33:18AM +0100, Boris Brezillon wrote:
> On Mon, 30 Nov 2015 12:17:29 -0800
> Brian Norris <computersforpeace@gmail.com> wrote:
> > On Mon, Nov 23, 2015 at 11:23:07AM +0100, Boris Brezillon wrote:
> > > src_ssync_features field is only 1 byte large, and the 4th reserved area
> > > is actually 8 bytes large.
> > > 
> > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> > > Fixes d1e1f4e42b5 ("mtd: nand: add support for reading ONFI parameters from NAND device")
> > > Cc: <stable@vger.kernel.org> #v2.6.37+
> > 
> > Did you see an actual problem from this? (And is this deserving of
> > stable?) I could imagine an out-of-tree driver might try to use t_ald
> > (which should actually be t_adl, right?)
> 
> Yes, should be t_adl, not t_ald. Do you want me to send another patch
> for that, or will you take care of it?

I'll send a quick patch.

> > and get the wrong value. But no
> > one does that in-tree yet.
> 
> Fair enough, we can just drop the stable and fixes tag. Do you want me
> to resend it?

I presume this means you didn't see any actual problems caused by this
patch, other than new development referencing it?

Applied without the stable tag. I kept the fixes tag.

Thanks,
Brian
Boris Brezillon Dec. 1, 2015, 7:10 p.m. UTC | #4
On Tue, 1 Dec 2015 11:05:10 -0800
Brian Norris <computersforpeace@gmail.com> wrote:

> On Tue, Dec 01, 2015 at 10:33:18AM +0100, Boris Brezillon wrote:
> > On Mon, 30 Nov 2015 12:17:29 -0800
> > Brian Norris <computersforpeace@gmail.com> wrote:
> > > On Mon, Nov 23, 2015 at 11:23:07AM +0100, Boris Brezillon wrote:
> > > > src_ssync_features field is only 1 byte large, and the 4th reserved area
> > > > is actually 8 bytes large.
> > > > 
> > > > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
> > > > Fixes d1e1f4e42b5 ("mtd: nand: add support for reading ONFI parameters from NAND device")
> > > > Cc: <stable@vger.kernel.org> #v2.6.37+
> > > 
> > > Did you see an actual problem from this? (And is this deserving of
> > > stable?) I could imagine an out-of-tree driver might try to use t_ald
> > > (which should actually be t_adl, right?)
> > 
> > Yes, should be t_adl, not t_ald. Do you want me to send another patch
> > for that, or will you take care of it?
> 
> I'll send a quick patch.
> 
> > > and get the wrong value. But no
> > > one does that in-tree yet.
> > 
> > Fair enough, we can just drop the stable and fixes tag. Do you want me
> > to resend it?
> 
> I presume this means you didn't see any actual problems caused by this
> patch, other than new development referencing it?

Yep, I noticed the problem when playing with the driver strength
feature.

> 
> Applied without the stable tag. I kept the fixes tag.
> 
> Thanks,
> Brian
diff mbox

Patch

diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 5a9d1d4..93fc372 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -276,7 +276,7 @@  struct nand_onfi_params {
 	__le16 t_r;
 	__le16 t_ccs;
 	__le16 src_sync_timing_mode;
-	__le16 src_ssync_features;
+	u8 src_ssync_features;
 	__le16 clk_pin_capacitance_typ;
 	__le16 io_pin_capacitance_typ;
 	__le16 input_pin_capacitance_typ;
@@ -284,7 +284,7 @@  struct nand_onfi_params {
 	u8 driver_strength_support;
 	__le16 t_int_r;
 	__le16 t_ald;
-	u8 reserved4[7];
+	u8 reserved4[8];
 
 	/* vendor */
 	__le16 vendor_revision;