Merge tag 'i3c/fixes-for-5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux

Pill i3c fixes from Boris Brezillon:

- fix the random PID check

- fix the disable controller logic in the designware driver

- fix I3C entry in MAINTAINERS

* tag 'i3c/fixes-for-5.1-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
MAINTAINERS: Fix the I3C entry
i3c: dw: Fix dw_i3c_master_disable controller by using correct mask
i3c: Fix the verification of random PID

Changed files
+3 -5
drivers
-1
MAINTAINERS
··· 7333 7333 F: Documentation/driver-api/i3c 7334 7334 F: drivers/i3c/ 7335 7335 F: include/linux/i3c/ 7336 - F: include/dt-bindings/i3c/ 7337 7336 7338 7337 I3C DRIVER FOR SYNOPSYS DESIGNWARE 7339 7338 M: Vitor Soares <vitor.soares@synopsys.com>
+2 -3
drivers/i3c/master.c
··· 1980 1980 { 1981 1981 struct i3c_dev_boardinfo *boardinfo; 1982 1982 struct device *dev = &master->dev; 1983 - struct i3c_device_info info = { }; 1984 1983 enum i3c_addr_slot_status addrstatus; 1985 1984 u32 init_dyn_addr = 0; 1986 1985 ··· 2011 2012 2012 2013 boardinfo->pid = ((u64)reg[1] << 32) | reg[2]; 2013 2014 2014 - if ((info.pid & GENMASK_ULL(63, 48)) || 2015 - I3C_PID_RND_LOWER_32BITS(info.pid)) 2015 + if ((boardinfo->pid & GENMASK_ULL(63, 48)) || 2016 + I3C_PID_RND_LOWER_32BITS(boardinfo->pid)) 2016 2017 return -EINVAL; 2017 2018 2018 2019 boardinfo->init_dyn_addr = init_dyn_addr;
+1 -1
drivers/i3c/master/dw-i3c-master.c
··· 300 300 301 301 static void dw_i3c_master_disable(struct dw_i3c_master *master) 302 302 { 303 - writel(readl(master->regs + DEVICE_CTRL) & DEV_CTRL_ENABLE, 303 + writel(readl(master->regs + DEVICE_CTRL) & ~DEV_CTRL_ENABLE, 304 304 master->regs + DEVICE_CTRL); 305 305 } 306 306