i3c: fix incorrect address slot lookup on 64-bit
authorJamie Iles <quic_jiles@quicinc.com>
Wed, 22 Sep 2021 16:56:00 +0000 (17:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Mar 2022 18:12:35 +0000 (19:12 +0100)
commite5264d44f73288b9a4842f5ddce639aec040e81b
treeae23a48b624300ea1a11665098a39677c4f96a01
parent1adfbfaeb20d5c2f51348381022c35b906d6c6eb
i3c: fix incorrect address slot lookup on 64-bit

[ Upstream commit f18f98110f2b179792cb70d85cba697320a3790f ]

The address slot bitmap is an array of unsigned long's which are the
same size as an int on 32-bit platforms but not 64-bit.  Loading the
bitmap into an int could result in the incorrect status being returned
for a slot and slots being reported as the wrong status.

Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure")
Cc: Boris Brezillon <bbrezillon@kernel.org>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Jamie Iles <quic_jiles@quicinc.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210922165600.179394-1-quic_jiles@quicinc.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/i3c/master.c