isight_firmware interacts badly with suspend/resume

From: Alistair John Strachan
Date: Sun Feb 22 2009 - 14:45:35 EST


Hi,

A 2.6.29-rc5 S3 suspend/resume cycle seems to break on my 2007 Macbook if I
have isight_firmware loaded and a valid isight firmware in /lib/firmware.

Normally this module loads/unloads fine (though I've never actually used the
webcam).

The breakage is not obvious. There's no kernel oops, and my console is
restored, but only Alt-Fx works, no other keys work. I've had this module
loaded during suspend/resume since it was introduced into mainline, but I've
only had problems with it in 2.6.29 and possibly 2.6.28 (can check for sure if
required).

At the moment I'm rmmod'ing the module before echo mem >/sys/power/state and
then modprobe'ing it after. This fixes the cycle. At a guess this looks like
some kind of request_firmware() race (that's the last kernel message I get on
resume before the hang).

Does isight_firmware actually need to do anything on resume? Is the firmware
lost for sure in S3? Anything else I can do to debug this?

--
Cheers,
Alistair.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/