From 5d81c6df320e40c741f474a54cc6df451e830143 Mon Sep 17 00:00:00 2001 From: Emmanuel Vadot Date: Wed, 19 Oct 2016 17:19:47 +0200 Subject: api: storage: Avoid enumeration for non-configured subsystem If a subsystem wasn't configured, avoid enumeration. Signed-off-by: Emmanuel Vadot --- api/api_storage.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/api/api_storage.c b/api/api_storage.c index d425a9ad1db..b5aaba1091e 100644 --- a/api/api_storage.c +++ b/api/api_storage.c @@ -41,7 +41,7 @@ struct stor_spec { char *name; }; -static struct stor_spec specs[ENUM_MAX] = { { 0, 0, 0, 0, "" }, }; +static struct stor_spec specs[ENUM_MAX] = { { 0, 0, 0, 0, NULL }, }; void dev_stor_init(void) @@ -105,6 +105,10 @@ static int dev_stor_get(int type, int first, int *more, struct device_info *di) struct blk_desc *dd; + /* Wasn't configured for this type, return 0 directly */ + if (specs[type].name == NULL) + return 0; + if (first) { di->cookie = (void *)blk_get_dev(specs[type].name, 0); if (di->cookie == NULL) -- cgit v1.2.3