* [drm-misc:drm-misc-next 1/2] drivers/video/fbdev/core/fbmem.c:1610:0-1: preceding lock on line 1598
@ 2022-05-17 0:29 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-05-17 0:29 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 8850 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Javier Martinez Canillas <javierm@redhat.com>
CC: Daniel Vetter <daniel.vetter@ffwll.ch>
tree: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head: a9ad5822366c5065e6a65fe5ff5090295ba98986
commit: 3367aa7d74d240261de2543ddb35531ccad9d884 [1/2] fbdev: Restart conflicting fb removal loop when unregistering devices
:::::: branch date: 10 hours ago
:::::: commit date: 4 days ago
config: openrisc-randconfig-c004-20220516 (https://download.01.org/0day-ci/archive/20220517/202205170855.Q26EPT2e-lkp(a)intel.com/config)
compiler: or1k-linux-gcc (GCC) 11.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
cocci warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/core/fbmem.c:1610:0-1: preceding lock on line 1598
vim +1610 drivers/video/fbdev/core/fbmem.c
712f3147aee0fb drivers/video/fbmem.c Linus Torvalds 2011-05-13 1551
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1552 #define VGA_FB_PHYS 0xA0000
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter 2019-05-28 1553 static void do_remove_conflicting_framebuffers(struct apertures_struct *a,
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1554 const char *name, bool primary)
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1555 {
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter 2019-05-28 1556 int i;
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1557
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1558 restart_removal:
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1559 /* check all firmware fbs and kick off if the base addr overlaps */
10ac86884b4d76 drivers/video/fbdev/core/fbmem.c Yisheng Xie 2018-07-24 1560 for_each_registered_fb(i) {
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1561 struct apertures_struct *gen_aper;
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1562 struct device *device;
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1563
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1564 if (!(registered_fb[i]->flags & FBINFO_MISC_FIRMWARE))
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1565 continue;
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1566
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1567 gen_aper = registered_fb[i]->apertures;
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1568 device = registered_fb[i]->device;
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1569 if (fb_do_apertures_overlap(gen_aper, a) ||
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1570 (primary && gen_aper && gen_aper->count &&
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1571 gen_aper->ranges[0].base == VGA_FB_PHYS)) {
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1572
fbc42d455a2982 drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1573 printk(KERN_INFO "fb%d: switching to %s from %s\n",
fbc42d455a2982 drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1574 i, name, registered_fb[i]->fix.id);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1575
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1576 /*
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1577 * If we kick-out a firmware driver, we also want to remove
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1578 * the underlying platform device, such as simple-framebuffer,
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1579 * VESA, EFI, etc. A native driver will then be able to
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1580 * allocate the memory range.
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1581 *
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1582 * If it's not a platform device, at least print a warning. A
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-19 1583 * fix would add code to remove the device from the system. For
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-19 1584 * framebuffers without any Linux device, print a warning as
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-19 1585 * well.
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1586 */
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-04 1587 if (!device) {
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-19 1588 pr_warn("fb%d: no device set\n", i);
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-04 1589 do_unregister_framebuffer(registered_fb[i]);
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-04 1590 } else if (dev_is_platform(device)) {
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1591 /*
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1592 * Drop the lock because if the device is unregistered, its
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1593 * driver will call to unregister_framebuffer(), that takes
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1594 * this lock.
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1595 */
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1596 mutex_unlock(®istration_lock);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1597 platform_device_unregister(to_platform_device(device));
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 @1598 mutex_lock(®istration_lock);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1599 } else {
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1600 pr_warn("fb%d: cannot remove device\n", i);
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter 2019-05-28 1601 do_unregister_framebuffer(registered_fb[i]);
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1602 }
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1603 /*
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1604 * Restart the removal loop now that the device has been
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1605 * unregistered and its associated framebuffer gone.
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1606 */
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1607 goto restart_removal;
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1608 }
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1609 }
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 @1610 }
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 1611
:::::: The code at line 1610 was first introduced by commit
:::::: 27599aacbaefcbf2af7b06b0029459bbf682000d fbdev: Hot-unplug firmware fb devices on forced removal
:::::: TO: Thomas Zimmermann <tzimmermann@suse.de>
:::::: CC: Thomas Zimmermann <tzimmermann@suse.de>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 2+ messages in thread
* [drm-misc:drm-misc-next 1/2] drivers/video/fbdev/core/fbmem.c:1610:0-1: preceding lock on line 1598
@ 2022-06-09 5:14 kernel test robot
0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2022-06-09 5:14 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 8848 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Javier Martinez Canillas <javierm@redhat.com>
CC: Daniel Vetter <daniel.vetter@ffwll.ch>
tree: git://anongit.freedesktop.org/drm/drm-misc drm-misc-next
head: 6aed665f9d8368ae1e962f44339150884bb47f5b
commit: 3367aa7d74d240261de2543ddb35531ccad9d884 [1/2] fbdev: Restart conflicting fb removal loop when unregistering devices
:::::: branch date: 8 hours ago
:::::: commit date: 4 weeks ago
config: m68k-randconfig-c003-20220608 (https://download.01.org/0day-ci/archive/20220609/202206091207.VzTUlukg-lkp(a)intel.com/config)
compiler: m68k-linux-gcc (GCC) 11.3.0
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
cocci warnings: (new ones prefixed by >>)
>> drivers/video/fbdev/core/fbmem.c:1610:0-1: preceding lock on line 1598
vim +1610 drivers/video/fbdev/core/fbmem.c
712f3147aee0fb drivers/video/fbmem.c Linus Torvalds 2011-05-13 1551
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1552 #define VGA_FB_PHYS 0xA0000
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter 2019-05-28 1553 static void do_remove_conflicting_framebuffers(struct apertures_struct *a,
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1554 const char *name, bool primary)
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1555 {
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter 2019-05-28 1556 int i;
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1557
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1558 restart_removal:
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1559 /* check all firmware fbs and kick off if the base addr overlaps */
10ac86884b4d76 drivers/video/fbdev/core/fbmem.c Yisheng Xie 2018-07-24 1560 for_each_registered_fb(i) {
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1561 struct apertures_struct *gen_aper;
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1562 struct device *device;
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1563
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1564 if (!(registered_fb[i]->flags & FBINFO_MISC_FIRMWARE))
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1565 continue;
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1566
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1567 gen_aper = registered_fb[i]->apertures;
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1568 device = registered_fb[i]->device;
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1569 if (fb_do_apertures_overlap(gen_aper, a) ||
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1570 (primary && gen_aper && gen_aper->count &&
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1571 gen_aper->ranges[0].base == VGA_FB_PHYS)) {
3b9676e7ac6eff drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1572
fbc42d455a2982 drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1573 printk(KERN_INFO "fb%d: switching to %s from %s\n",
fbc42d455a2982 drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1574 i, name, registered_fb[i]->fix.id);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1575
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1576 /*
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1577 * If we kick-out a firmware driver, we also want to remove
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1578 * the underlying platform device, such as simple-framebuffer,
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1579 * VESA, EFI, etc. A native driver will then be able to
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1580 * allocate the memory range.
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1581 *
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1582 * If it's not a platform device, at least print a warning. A
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-19 1583 * fix would add code to remove the device from the system. For
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-19 1584 * framebuffers without any Linux device, print a warning as
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-19 1585 * well.
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1586 */
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-04 1587 if (!device) {
b76ecff8317eed drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-19 1588 pr_warn("fb%d: no device set\n", i);
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-04 1589 do_unregister_framebuffer(registered_fb[i]);
0f525289ff0dde drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-04-04 1590 } else if (dev_is_platform(device)) {
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1591 /*
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1592 * Drop the lock because if the device is unregistered, its
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1593 * driver will call to unregister_framebuffer(), that takes
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1594 * this lock.
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1595 */
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1596 mutex_unlock(®istration_lock);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1597 platform_device_unregister(to_platform_device(device));
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 @1598 mutex_lock(®istration_lock);
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1599 } else {
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 1600 pr_warn("fb%d: cannot remove device\n", i);
deb00d2785bedd drivers/video/fbdev/core/fbmem.c Daniel Vetter 2019-05-28 1601 do_unregister_framebuffer(registered_fb[i]);
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1602 }
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1603 /*
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1604 * Restart the removal loop now that the device has been
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1605 * unregistered and its associated framebuffer gone.
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1606 */
3367aa7d74d240 drivers/video/fbdev/core/fbmem.c Javier Martinez Canillas 2022-05-11 1607 goto restart_removal;
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1608 }
06415c564fb985 drivers/video/fbmem.c Marcin Slusarz 2010-05-16 1609 }
27599aacbaefcb drivers/video/fbdev/core/fbmem.c Thomas Zimmermann 2022-01-25 @1610 }
^1da177e4c3f41 drivers/video/fbmem.c Linus Torvalds 2005-04-16 1611
:::::: The code at line 1610 was first introduced by commit
:::::: 27599aacbaefcbf2af7b06b0029459bbf682000d fbdev: Hot-unplug firmware fb devices on forced removal
:::::: TO: Thomas Zimmermann <tzimmermann@suse.de>
:::::: CC: Thomas Zimmermann <tzimmermann@suse.de>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-06-09 5:14 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-05-17 0:29 [drm-misc:drm-misc-next 1/2] drivers/video/fbdev/core/fbmem.c:1610:0-1: preceding lock on line 1598 kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2022-06-09 5:14 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.