[ 7647.936113] wlan0: no probe response from AP - disassociating
[ 7649.299667] wlan0: authenticate with AP
[ 7649.336162] wlan0: autheniticated
[ 7649.336170] wlan0: associate with AP
[ 7649.436184] wlan0: RX ReassocResp from AP
[ 7649.436192] wlan0: associated
[ 7688.948079] wlan0: no probe response from AP - disassociating
[ 7696.585236] wlan0: direct probe to AP try 1
[ 7696.648183] wlan0 direct probe responded
[ 7696.648192] wlan0: authenticate with AP
[ 7696.748181] wlan0: authenticated
Turns out it is a problem with ath9x in the kernel so it isn't canonical's fault.
Installing linux-backports-modules-2.6.31 seems to have fixed the problem.