summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/light.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/greybus/light.c')
-rw-r--r--drivers/staging/greybus/light.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/light.c
index a57d59339bd6..85bf5559f6fb 100644
--- a/drivers/staging/greybus/light.c
+++ b/drivers/staging/greybus/light.c
@@ -293,13 +293,14 @@ static int channel_attr_groups_set(struct gb_channel *channel,
if (channel->flags & GB_LIGHT_CHANNEL_MULTICOLOR)
size++;
if (channel->flags & GB_LIGHT_CHANNEL_FADER)
- size++;
+ size += 2;
if (!size)
return 0;
/* Set attributes based in the channel flags */
- channel->attrs = kcalloc(size, sizeof(**channel->attrs), GFP_KERNEL);
+ channel->attrs = kcalloc(size + 1, sizeof(**channel->attrs),
+ GFP_KERNEL);
if (!channel->attrs)
return -ENOMEM;
channel->attr_group = kcalloc(1, sizeof(*channel->attr_group),