On 10 October 2015 at 23:00, Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> wrote: > Fixes an off by one array size. > The Status/ID is an 8-bit value (OK, the standard states it can be a 8, 16 or 32-bit value, however both of the chipsets we support at this point in time support an 8-bit value), why do we need a 256th entry in the array? Martyn > Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@xxxxxxxxx> > --- > drivers/vme/vme_bridge.h | 4 +++- > include/linux/vme.h | 3 +++ > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/drivers/vme/vme_bridge.h b/drivers/vme/vme_bridge.h > index 397578a..b59cbee 100644 > --- a/drivers/vme/vme_bridge.h > +++ b/drivers/vme/vme_bridge.h > @@ -1,6 +1,8 @@ > #ifndef _VME_BRIDGE_H_ > #define _VME_BRIDGE_H_ > > +#include <linux/vme.h> > + > #define VME_CRCSR_BUF_SIZE (508*1024) > /* > * Resource structures > @@ -91,7 +93,7 @@ struct vme_callback { > > struct vme_irq { > int count; > - struct vme_callback callback[255]; > + struct vme_callback callback[VME_NUM_STATUSID]; > }; > > /* Allow 16 characters for name (including null character) */ > diff --git a/include/linux/vme.h b/include/linux/vme.h > index c013135..71e4a6d 100644 > --- a/include/linux/vme.h > +++ b/include/linux/vme.h > @@ -81,6 +81,9 @@ struct vme_resource { > > extern struct bus_type vme_bus_type; > > +/* Number of VME interrupt vectors */ > +#define VME_NUM_STATUSID 256 > + > /* VME_MAX_BRIDGES comes from the type of vme_bus_numbers */ > #define VME_MAX_BRIDGES (sizeof(unsigned int)*8) > #define VME_MAX_SLOTS 32 > -- > 1.8.3.1 > _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel