Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'i2c-for-5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:
"Two I2C driver bugfixes preventing resource leaks"

* tag 'i2c-for-5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: cadence: Unregister the clk notifier in error path
i2c: piix4: Fix a memory leak in the EFCH MMIO support

+8 -9
+1
drivers/i2c/busses/i2c-cadence.c
··· 1338 1338 return 0; 1339 1339 1340 1340 err_clk_dis: 1341 + clk_notifier_unregister(id->clk, &id->clk_rate_change_nb); 1341 1342 clk_disable_unprepare(id->clk); 1342 1343 pm_runtime_disable(&pdev->dev); 1343 1344 pm_runtime_set_suspended(&pdev->dev);
+7 -9
drivers/i2c/busses/i2c-piix4.c
··· 161 161 162 162 struct sb800_mmio_cfg { 163 163 void __iomem *addr; 164 - struct resource *res; 165 164 bool use_mmio; 166 165 }; 167 166 ··· 178 179 struct sb800_mmio_cfg *mmio_cfg) 179 180 { 180 181 if (mmio_cfg->use_mmio) { 181 - struct resource *res; 182 182 void __iomem *addr; 183 183 184 - res = request_mem_region_muxed(SB800_PIIX4_FCH_PM_ADDR, 185 - SB800_PIIX4_FCH_PM_SIZE, 186 - "sb800_piix4_smb"); 187 - if (!res) { 184 + if (!request_mem_region_muxed(SB800_PIIX4_FCH_PM_ADDR, 185 + SB800_PIIX4_FCH_PM_SIZE, 186 + "sb800_piix4_smb")) { 188 187 dev_err(dev, 189 188 "SMBus base address memory region 0x%x already in use.\n", 190 189 SB800_PIIX4_FCH_PM_ADDR); ··· 192 195 addr = ioremap(SB800_PIIX4_FCH_PM_ADDR, 193 196 SB800_PIIX4_FCH_PM_SIZE); 194 197 if (!addr) { 195 - release_resource(res); 198 + release_mem_region(SB800_PIIX4_FCH_PM_ADDR, 199 + SB800_PIIX4_FCH_PM_SIZE); 196 200 dev_err(dev, "SMBus base address mapping failed.\n"); 197 201 return -ENOMEM; 198 202 } 199 203 200 - mmio_cfg->res = res; 201 204 mmio_cfg->addr = addr; 202 205 203 206 return 0; ··· 219 222 { 220 223 if (mmio_cfg->use_mmio) { 221 224 iounmap(mmio_cfg->addr); 222 - release_resource(mmio_cfg->res); 225 + release_mem_region(SB800_PIIX4_FCH_PM_ADDR, 226 + SB800_PIIX4_FCH_PM_SIZE); 223 227 return; 224 228 } 225 229