From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751894AbdL0OKn (ORCPT ); Wed, 27 Dec 2017 09:10:43 -0500 Received: from mail-wr0-f195.google.com ([209.85.128.195]:36598 "EHLO mail-wr0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750999AbdL0OKm (ORCPT ); Wed, 27 Dec 2017 09:10:42 -0500 X-Google-Smtp-Source: ACJfBot7FhJRQazy/N3Lfl8hoD7S0oe9Oj1eWB9n8FNxQNYz8N6VGdvJ1bh/Jt5k0xjmyXFsiCvCCg== From: Bartosz Golaszewski To: linux-i2c@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH] eeprom: at24: check the return value of nvmem_unregister() Date: Wed, 27 Dec 2017 15:10:38 +0100 Message-Id: <20171227141038.31646-1-brgl@bgdev.pl> X-Mailer: git-send-email 2.15.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This function can fail with -EBUSY, but we don't check its return value in at24_remove(). Bail-out of remove() if nvmem_unregister() doesn't succeed. Signed-off-by: Bartosz Golaszewski --- drivers/misc/eeprom/at24.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/misc/eeprom/at24.c b/drivers/misc/eeprom/at24.c index e79833d62284..fb21e1c45115 100644 --- a/drivers/misc/eeprom/at24.c +++ b/drivers/misc/eeprom/at24.c @@ -684,11 +684,13 @@ static int at24_probe(struct i2c_client *client, const struct i2c_device_id *id) static int at24_remove(struct i2c_client *client) { struct at24_data *at24; - int i; + int i, ret; at24 = i2c_get_clientdata(client); - nvmem_unregister(at24->nvmem); + ret = nvmem_unregister(at24->nvmem); + if (ret) + return ret; for (i = 1; i < at24->num_addresses; i++) i2c_unregister_device(at24->client[i].client); -- 2.15.1