From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753756AbdKHVE0 (ORCPT ); Wed, 8 Nov 2017 16:04:26 -0500 Received: from omzsmtpe02.verizonbusiness.com ([199.249.25.209]:36421 "EHLO omzsmtpe02.verizonbusiness.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752585AbdKHVCG (ORCPT ); Wed, 8 Nov 2017 16:02:06 -0500 X-Greylist: delayed 674 seconds by postgrey-1.27 at vger.kernel.org; Wed, 08 Nov 2017 16:01:59 EST X-Host: endeavour.tdc.vzwcorp.com From: "Levin, Alexander (Sasha Levin)" To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: =?utf-8?B?VXdlIEtsZWluZS1Lw7ZuaWc=?= , "Lee Jones" , "Levin, Alexander (Sasha Levin)" Subject: [PATCH AUTOSEL for-4.9 33/53] backlight: lcd: Fix race condition during register Thread-Topic: [PATCH AUTOSEL for-4.9 33/53] backlight: lcd: Fix race condition during register Thread-Index: AQHTWNMmzur3oNb6Rka+gs/TlExIYw== Date: Wed, 8 Nov 2017 20:50:03 +0000 Message-ID: <20171108204940.27321-33-alexander.levin@verizon.com> References: <20171108204940.27321-1-alexander.levin@verizon.com> In-Reply-To: <20171108204940.27321-1-alexander.levin@verizon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.144.60.250] Content-Type: text/plain; charset="utf-8" Content-ID: <9DB541FFC6129F47B45CAA886D8F0854@vzwcorp.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id vA8L4WYP003841 From: Uwe Kleine-König [ Upstream commit cc21942bce652d1a92dae85b785378256e1df1f7 ] Once device_register is called for a device its attributes might be accessed. As the callbacks of a lcd device's attributes make use of the lcd_ops, the respective member must be setup before calling device_register. Signed-off-by: Uwe Kleine-König Signed-off-by: Lee Jones Signed-off-by: Sasha Levin --- drivers/video/backlight/lcd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c index 7de847df224f..4b40c6a4d441 100644 --- a/drivers/video/backlight/lcd.c +++ b/drivers/video/backlight/lcd.c @@ -226,6 +226,8 @@ struct lcd_device *lcd_device_register(const char *name, struct device *parent, dev_set_name(&new_ld->dev, "%s", name); dev_set_drvdata(&new_ld->dev, devdata); + new_ld->ops = ops; + rc = device_register(&new_ld->dev); if (rc) { put_device(&new_ld->dev); @@ -238,8 +240,6 @@ struct lcd_device *lcd_device_register(const char *name, struct device *parent, return ERR_PTR(rc); } - new_ld->ops = ops; - return new_ld; } EXPORT_SYMBOL(lcd_device_register); -- 2.11.0