mirror of
https://github.com/ARM-software/devlib.git
synced 2025-04-17 23:30:03 +01:00
module/sched: Harden probe()
Running some tests on a VM I hit that unexpected scenario where the required sched_domain file is there but then read_tree_values() fails because there are no files to read, only directories. This does a quick check that there's actual data to be read.
This commit is contained in:
parent
da3afeba2e
commit
74444210e7
@ -195,7 +195,19 @@ class SchedProcFSData(SchedProcFSNode):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def available(target):
|
def available(target):
|
||||||
return target.directory_exists(SchedProcFSData.sched_domain_root)
|
path = SchedProcFSData.sched_domain_root
|
||||||
|
cpus = target.list_directory(path) if target.file_exists(path) else []
|
||||||
|
|
||||||
|
if not cpus:
|
||||||
|
return False
|
||||||
|
|
||||||
|
# Even if we have a CPU entry, it can be empty (e.g. hotplugged out)
|
||||||
|
# Make sure some data is there
|
||||||
|
for cpu in cpus:
|
||||||
|
if target.file_exists(target.path.join(path, cpu, "domain0", "name")):
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
def __init__(self, target, path=None):
|
def __init__(self, target, path=None):
|
||||||
if not path:
|
if not path:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user