From d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 11 Dec 2023 02:45:28 +0000 Subject: [PATCH] add boot partition size --- kernel/drivers/rapidio/rio-scan.c | 16 +++++----------- 1 files changed, 5 insertions(+), 11 deletions(-) diff --git a/kernel/drivers/rapidio/rio-scan.c b/kernel/drivers/rapidio/rio-scan.c index fd7b517..19b0c33 100644 --- a/kernel/drivers/rapidio/rio-scan.c +++ b/kernel/drivers/rapidio/rio-scan.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-or-later /* * RapidIO enumeration and discovery support * @@ -11,11 +12,6 @@ * Copyright 2009 Sysgo AG * Thomas Moll <thomas.moll@sysgo.com> * - Added Input- Output- enable functionality, to allow full communication - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. */ #include <linux/types.h> @@ -43,7 +39,7 @@ u16 start; /* logical minimal id */ u32 max; /* max number of IDs in table */ spinlock_t lock; - unsigned long table[0]; + unsigned long table[]; }; static int next_destid = 0; @@ -334,7 +330,7 @@ size_t size; u32 swpinfo = 0; - size = sizeof(struct rio_dev); + size = sizeof(*rdev); if (rio_mport_read_config_32(port, destid, hopcount, RIO_PEF_CAR, &result)) return NULL; @@ -342,10 +338,8 @@ if (result & (RIO_PEF_SWITCH | RIO_PEF_MULTIPORT)) { rio_mport_read_config_32(port, destid, hopcount, RIO_SWP_INFO_CAR, &swpinfo); - if (result & RIO_PEF_SWITCH) { - size += (RIO_GET_TOTAL_PORTS(swpinfo) * - sizeof(rswitch->nextdev[0])) + sizeof(*rswitch); - } + if (result & RIO_PEF_SWITCH) + size += struct_size(rswitch, nextdev, RIO_GET_TOTAL_PORTS(swpinfo)); } rdev = kzalloc(size, GFP_KERNEL); -- Gitblit v1.6.2