#!/bin/bash
. /usr/lib/pm-utils/functions
case "$1" in
resume|thaw)
modprobe ath_pci
;;
suspend|hibernate)
modprobe -r ath_pci
;;
esac
exit $?
NetworkManager picks up the reload of the module and works perfectly. My ath0 device wasn't working after resuming from a suspend on Fedora 8. modprobe -r ath_pci followed by modprobe ath_pci fixed the problem. I decided to automate that, so I read a bit of the pm-utils scripts and wrote the following simple script in /etc/pm/sleep.d/wireless