mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-04 07:25:53 +00:00
mtd: Ignore devices that report EPERM on open
This commit is contained in:
parent
7d9dff4789
commit
df66a1d73e
@ -63,6 +63,28 @@ fu_mtd_device_setup(FuDevice *device, GError **error)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
fu_mtd_device_open(FuDevice *device, GError **error)
|
||||
{
|
||||
g_autoptr(GError) error_local = NULL;
|
||||
|
||||
/* FuUdevDevice->open */
|
||||
if (!FU_DEVICE_CLASS(fu_mtd_device_parent_class)->open(device, &error_local)) {
|
||||
if (g_error_matches(error_local, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED)) {
|
||||
g_set_error_literal(error,
|
||||
FWUPD_ERROR,
|
||||
FWUPD_ERROR_NOT_SUPPORTED,
|
||||
error_local->message);
|
||||
return FALSE;
|
||||
}
|
||||
g_propagate_error(error, g_steal_pointer(&error_local));
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* success */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
fu_mtd_device_probe(FuDevice *device, GError **error)
|
||||
{
|
||||
@ -371,6 +393,7 @@ static void
|
||||
fu_mtd_device_class_init(FuMtdDeviceClass *klass)
|
||||
{
|
||||
FuDeviceClass *klass_device = FU_DEVICE_CLASS(klass);
|
||||
klass_device->open = fu_mtd_device_open;
|
||||
klass_device->probe = fu_mtd_device_probe;
|
||||
klass_device->setup = fu_mtd_device_setup;
|
||||
klass_device->to_string = fu_mtd_device_to_string;
|
||||
|
Loading…
Reference in New Issue
Block a user