hw/ssi/mss-spi.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
Fixed incorrect frame size mask, validated maximum frame
size in spi_write and removed dead code.
Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com>
---
hw/ssi/mss-spi.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c
index 5a8e308..1e49cbc 100644
--- a/hw/ssi/mss-spi.c
+++ b/hw/ssi/mss-spi.c
@@ -76,9 +76,10 @@
#define C_BIGFIFO (1 << 29)
#define C_RESET (1 << 31)
-#define FRAMESZ_MASK 0x1F
+#define FRAMESZ_MASK 0x3F
#define FMCOUNT_MASK 0x00FFFF00
#define FMCOUNT_SHIFT 8
+#define FRAMESZ_MAX 32
static void txfifo_reset(MSSSpiState *s)
{
@@ -106,8 +107,6 @@ static void set_fifodepth(MSSSpiState *s)
s->fifo_depth = 16;
} else if (size <= 32) {
s->fifo_depth = 8;
- } else {
- s->fifo_depth = 4;
}
}
@@ -301,6 +300,9 @@ static void spi_write(void *opaque, hwaddr addr,
if (s->enabled) {
break;
}
+ if ((value & FRAMESZ_MASK) > FRAMESZ_MAX) {
+ break;
+ }
s->regs[R_SPI_DFSIZE] = value;
break;
--
2.5.0
On 16 October 2017 at 18:54, Subbaraya Sundeep <sundeep.lkml@gmail.com> wrote: > Fixed incorrect frame size mask, validated maximum frame > size in spi_write and removed dead code. > > Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com> > --- > hw/ssi/mss-spi.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c > index 5a8e308..1e49cbc 100644 > --- a/hw/ssi/mss-spi.c > +++ b/hw/ssi/mss-spi.c > @@ -76,9 +76,10 @@ > #define C_BIGFIFO (1 << 29) > #define C_RESET (1 << 31) > > -#define FRAMESZ_MASK 0x1F > +#define FRAMESZ_MASK 0x3F > #define FMCOUNT_MASK 0x00FFFF00 > #define FMCOUNT_SHIFT 8 > +#define FRAMESZ_MAX 32 > > static void txfifo_reset(MSSSpiState *s) > { > @@ -106,8 +107,6 @@ static void set_fifodepth(MSSSpiState *s) > s->fifo_depth = 16; > } else if (size <= 32) { Shouldn't this just be "} else {" now ? > s->fifo_depth = 8; > - } else { > - s->fifo_depth = 4; > } > } thanks -- PMM
Hi Peter, On Tue, Oct 17, 2017 at 8:58 PM, Peter Maydell <peter.maydell@linaro.org> wrote: > On 16 October 2017 at 18:54, Subbaraya Sundeep <sundeep.lkml@gmail.com> > wrote: > > Fixed incorrect frame size mask, validated maximum frame > > size in spi_write and removed dead code. > > > > Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com> > > --- > > hw/ssi/mss-spi.c | 8 +++++--- > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c > > index 5a8e308..1e49cbc 100644 > > --- a/hw/ssi/mss-spi.c > > +++ b/hw/ssi/mss-spi.c > > @@ -76,9 +76,10 @@ > > #define C_BIGFIFO (1 << 29) > > #define C_RESET (1 << 31) > > > > -#define FRAMESZ_MASK 0x1F > > +#define FRAMESZ_MASK 0x3F > > #define FMCOUNT_MASK 0x00FFFF00 > > #define FMCOUNT_SHIFT 8 > > +#define FRAMESZ_MAX 32 > > > > static void txfifo_reset(MSSSpiState *s) > > { > > @@ -106,8 +107,6 @@ static void set_fifodepth(MSSSpiState *s) > > s->fifo_depth = 16; > > } else if (size <= 32) { > > Shouldn't this just be "} else {" now ? > > Yes. I will send v2. Thanks, Sundeep > s->fifo_depth = 8; > > - } else { > > - s->fifo_depth = 4; > > } > > } > > thanks > -- PMM >
Hi Peter, On Wed, Oct 18, 2017 at 8:45 AM, sundeep subbaraya <sundeep.lkml@gmail.com> wrote: > Hi Peter, > > On Tue, Oct 17, 2017 at 8:58 PM, Peter Maydell <peter.maydell@linaro.org> > wrote: > >> On 16 October 2017 at 18:54, Subbaraya Sundeep <sundeep.lkml@gmail.com> >> wrote: >> > Fixed incorrect frame size mask, validated maximum frame >> > size in spi_write and removed dead code. >> > >> > Signed-off-by: Subbaraya Sundeep <sundeep.lkml@gmail.com> >> > --- >> > hw/ssi/mss-spi.c | 8 +++++--- >> > 1 file changed, 5 insertions(+), 3 deletions(-) >> > >> > diff --git a/hw/ssi/mss-spi.c b/hw/ssi/mss-spi.c >> > index 5a8e308..1e49cbc 100644 >> > --- a/hw/ssi/mss-spi.c >> > +++ b/hw/ssi/mss-spi.c >> > @@ -76,9 +76,10 @@ >> > #define C_BIGFIFO (1 << 29) >> > #define C_RESET (1 << 31) >> > >> > -#define FRAMESZ_MASK 0x1F >> > +#define FRAMESZ_MASK 0x3F >> > #define FMCOUNT_MASK 0x00FFFF00 >> > #define FMCOUNT_SHIFT 8 >> > +#define FRAMESZ_MAX 32 >> > >> > static void txfifo_reset(MSSSpiState *s) >> > { >> > @@ -106,8 +107,6 @@ static void set_fifodepth(MSSSpiState *s) >> > s->fifo_depth = 16; >> > } else if (size <= 32) { >> >> Shouldn't this just be "} else {" now ? >> >> Yes. I will send v2. > Also I will log guest error if frame size is greater than 32. Thanks, Sundeep > > Thanks, > Sundeep > > > s->fifo_depth = 8; >> > - } else { >> > - s->fifo_depth = 4; >> > } >> > } >> >> thanks >> -- PMM >> > >
© 2016 - 2024 Red Hat, Inc.