mirror of
https://git.proxmox.com/git/fwupd
synced 2025-08-06 13:02:18 +00:00
superio: Move the device flush before getting the register map
This commit is contained in:
parent
c5ef28ad5e
commit
763483411d
@ -202,7 +202,7 @@ fu_superio_device_ec_write1 (FuSuperioDevice *self, guint8 data, GError **error)
|
||||
return fu_superio_outb (priv->fd, priv->pm1_iobad1, data, error);
|
||||
}
|
||||
|
||||
gboolean
|
||||
static gboolean
|
||||
fu_superio_device_ec_flush (FuSuperioDevice *self, GError **error)
|
||||
{
|
||||
FuSuperioDevicePrivate *priv = GET_PRIVATE (self);
|
||||
@ -332,6 +332,12 @@ fu_superio_device_setup (FuDevice *device, GError **error)
|
||||
&priv->pm1_iobad1, error))
|
||||
return FALSE;
|
||||
|
||||
/* drain */
|
||||
if (!fu_superio_device_ec_flush (self, error)) {
|
||||
g_prefix_error (error, "failed to flush: ");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* dump PMC register map */
|
||||
if (g_getenv ("FWUPD_SUPERIO_VERBOSE") != NULL) {
|
||||
guint8 buf[0xff] = { 0x00 };
|
||||
|
@ -20,8 +20,6 @@ struct _FuSuperioDeviceClass
|
||||
GError **error);
|
||||
};
|
||||
|
||||
gboolean fu_superio_device_ec_flush (FuSuperioDevice *self,
|
||||
GError **error);
|
||||
gboolean fu_superio_device_ec_read (FuSuperioDevice *self,
|
||||
guint8 *data,
|
||||
GError **error);
|
||||
|
@ -41,10 +41,6 @@ fu_superio_it85_device_setup (FuSuperioDevice *self, GError **error)
|
||||
g_autofree gchar *version = NULL;
|
||||
|
||||
/* get EC size */
|
||||
if (!fu_superio_device_ec_flush (self, error)) {
|
||||
g_prefix_error (error, "failed to flush: ");
|
||||
return FALSE;
|
||||
}
|
||||
if (!fu_superio_device_ec_get_param (self, 0xe5, &size_tmp, error)) {
|
||||
g_prefix_error (error, "failed to get EC size: ");
|
||||
return FALSE;
|
||||
|
@ -102,10 +102,6 @@ fu_superio_it89_device_setup (FuSuperioDevice *self, GError **error)
|
||||
}
|
||||
|
||||
/* get version */
|
||||
if (!fu_superio_device_ec_flush (self, error)) {
|
||||
g_prefix_error (error, "failed to flush: ");
|
||||
return FALSE;
|
||||
}
|
||||
if (!fu_superio_device_ec_get_param (self, 0x00, &version_tmp[0], error)) {
|
||||
g_prefix_error (error, "failed to get version major: ");
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user