I had an annoying bug after upgrading my mom's laptop from OpenSUSE 11.3 to 11.4. Every time after suspend/wakeup NetworkManager would not know of the wlan0 device. Manually it was easy to fix, either by sudo killall NetworkManager and launching it again, or by unloading and loading the wlan module(s) again.

I searched, but couldn't find a solution, but figured out it should be possible to tell ACPI or something to unload and load the modules, so I created a file
/etc/pm/sleep.d/98wifi_modules containing:

Code:
#!/bin/bash

. $PM_UTILS_LIBDIR/functions  # Not sure if this is needed ...

case "$1" in
 	hibernate|suspend)

		# Dirty hack to get wifi back after suspend to RAM killed it
		modprobe -r rtl8187 cfg80211 mac80211
		;;
	thaw|resume)
		modprobe rtl8187
		;;
	*)
		;;
esac

exit 0
This fixed the problem for me. Hope someone else benefit from my finding ...