Rescan busses for FRU device removal/unplug

Kumar Thangavel kumarthangavel.hcl at
Mon Sep 26 18:46:51 AEST 2022

On Sat, Sep 24, 2022 at 3:19 AM Patrick Williams <patrick at> wrote:

> On Tue, Sep 20, 2022 at 02:19:38PM +0530, Kumar Thangavel wrote:
> > Hi All,
> >
> > Whenever Rescan function is called, it is removing all fru devices and
> > their interfaces from dbus and scans all busses and adding all other
> > devices and dbus interfaces.
> >
> > If ReScan function is called, incase of removing/unplugging only one FRU
> > device from the system, then it will remove all fru devices from the
> system
> > and their interfaces instead of removing one device. So, all the FRU's
> and
> > associated sensors and their dbus interfaces were also removed. Then
> scans
> > all buses and adds newly scanned devices and dbus interfaces.
> >
> > Ex : If a system has 5 FRU devices, then one FRU device is
> > removed/unplugged, it will remove all devices and scan all buses and
> > recreate the 4 FRU devices.
> >
> > I think Some additional removal of other FRU devices and
> adding/recreating
> > other FRU devices is happening here. So, to avoid this issue, We can keep
> > both old and new scanning lists and compare the devices in the list and
> > remove only the unplugged FRU devices and their dbus interfaces and keep
> > other FRU devices as it is. This is also applicable for adding(plug) new
> > FRU to the system.
> >
> > Please share your thoughts on this.
> Isn't there a 'ReScanBus' call also?  Does this do what you need?
> No. You mean rescanOneBus function ?  It scans one specific bus based on
the busNum parameter.
This rescanOneBus also removes that particular bus Fru and their dbus
interface completely and rescanning
the bus.
What I am proposing is, Instead of removing already scanned devices and
dbus operations and rescan the bus and devices,          The already
scanned devices list and its information is not to be cleared and it would
be compared with new scan information and      updated in the dbus

    This saves some additional removal of scanned devices and dbus
operations. we may need to refactor some portions of code in the
FruDevice.cpp file.

 Thanks & Regards,

> --
> Patrick Williams
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the openbmc mailing list