From: Liguang Zhang Date: Fri, 21 Feb 2020 16:35:09 +0000 (+0000) Subject: firmware: arm_sdei: clean up sdei_event_create() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f7d5ef0c654e827ba09e6eaadabc5a121c8a1cf4;p=linux.git firmware: arm_sdei: clean up sdei_event_create() Function sdei_event_find() is always called in sdei_event_create(), but it is already called in sdei_event_register(). This code is trying to avoid a double-create of the same event, which can't happen as we still hold the sdei_events_lock. We can remove this needless sdei_event_find() call. Signed-off-by: Liguang Zhang [expanded commit message] Signed-off-by: James Morse Signed-off-by: Catalin Marinas --- diff --git a/drivers/firmware/arm_sdei.c b/drivers/firmware/arm_sdei.c index 45536408a8c1c..334c8be0c11fb 100644 --- a/drivers/firmware/arm_sdei.c +++ b/drivers/firmware/arm_sdei.c @@ -267,15 +267,9 @@ static struct sdei_event *sdei_event_create(u32 event_num, event->private_registered = regs; } - if (sdei_event_find(event_num)) { - kfree(event->registered); - kfree(event); - event = ERR_PTR(-EBUSY); - } else { - spin_lock(&sdei_list_lock); - list_add(&event->list, &sdei_list); - spin_unlock(&sdei_list_lock); - } + spin_lock(&sdei_list_lock); + list_add(&event->list, &sdei_list); + spin_unlock(&sdei_list_lock); return event; }