Thanks for the patch! The second patch looks great and seems to be a clean fix. I am running a new kernel built from the patch and the drive is now powering down properly.
I notice that wddatach() is called several times during shutdown, twice during the shutdown of atabus0 and atabus1, once before shutting down wd0, and a couple other times. I was wondering if there are any adverse effects to calling wd_standby() on a bunch of devices which are not ata disks (if that is actually happening). The routine itself seems to gracefully handle any errors, so I think it might be okay. Everything seems to work on my laptop so far.
