(split) Revert r257730:
 Make head/ buildable again, instead of spewing garbage like:
 /src/gnu/lib/csu/../../../contrib/gcc/config/rs6000/crtsavres.asm:280:
  Error: no such instruction: `lwz 28,-16(11)'
(split) Don't return ENOBUFS if the transmit path handles the frame but queues it (eg in power save.)

This is definitely an MFC candidate for 10.0-REL.

MFC after:	1 week
(split) Fix AMRR to correctly select the initial rate.

There were two bugs:

* If the initial lowest rate didn't go through the loop at least once,
  the AMRR rate index would be the highest rate in the table
  (eg the rix mapping to MCS15) but rate would stay at the default
  value, namely 0.

  This meant that the initial rate selection would be MCS15 _but_ the
  node ni_txrate value would be MCS0.

* If the node is 11n, then break out of the loop correctly.  Beforehand,
  my initial 11n AMRR commit would immediately exit out as it would
  fail the 11n check, then it would always fall through to the non-11n
  rate which would then see if it was < 36mbit (ie, "72"), which would
  always match.  Hence, it'd always return MCS15.

Tested:

* Intel Centrino 2230 STA (local changes), STA mode
* Intel Wifi 5100, STA
(split) Merge branch 'CURRENT' (commit '963d7e1a')