On Fri, 17 Jun 2016 13:35:56 +0200, Jaroslav Kysela wrote: > > Call path: > > 1) snd_hdac_power_up_pm() > 2) snd_hdac_power_up() > 3) pm_runtime_get_sync() > 4) __pm_runtime_resume() > 5) rpm_resume() > > The rpm_resume() returns 1 when the device is already active. > Because the return value is unmodified, the hdac regmap read/write > functions should allow this value for the retry I/O operation, too. > > Signed-off-by: Jaroslav Kysela <perex@xxxxxxxx> Thanks, a good catch. Applied now. Takashi > --- > sound/hda/hdac_regmap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/sound/hda/hdac_regmap.c b/sound/hda/hdac_regmap.c > index 87041dd..47a358f 100644 > --- a/sound/hda/hdac_regmap.c > +++ b/sound/hda/hdac_regmap.c > @@ -444,7 +444,7 @@ int snd_hdac_regmap_write_raw(struct hdac_device *codec, unsigned int reg, > err = reg_raw_write(codec, reg, val); > if (err == -EAGAIN) { > err = snd_hdac_power_up_pm(codec); > - if (!err) > + if (err >= 0) > err = reg_raw_write(codec, reg, val); > snd_hdac_power_down_pm(codec); > } > @@ -470,7 +470,7 @@ static int __snd_hdac_regmap_read_raw(struct hdac_device *codec, > err = reg_raw_read(codec, reg, val, uncached); > if (err == -EAGAIN) { > err = snd_hdac_power_up_pm(codec); > - if (!err) > + if (err >= 0) > err = reg_raw_read(codec, reg, val, uncached); > snd_hdac_power_down_pm(codec); > } > -- > 2.5.5 > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel