 o TxD ring requires 8 bytes alignment to work so change alignment    constraint to 8. Previously it may have triggered watchdog    timeouts.  o Check whether interrupt is ours or not.  o Enable interrupts before attemping to transmit queued packets.    This will slightly improve TX performance.  o No need to clear IFF_DRV_OACTIVE in a loop. AE_FLAG_TXAVAIL is    used to know whether there are enough available TxD ring space.  o Added missing bus_dmamap_sync(9) in ae_rx_intr() and rearranged    code to avoid unncessary register access.  o Make sure to clear TxD, TxS, RxD rings in driver initialization.    Otherwise some data in these rings could be interpreted as    'updated' which in turn will advance internally maintained    pointers and can trigger watchdog timeouts.
 o TxD ring requires 8 bytes alignment to work so change alignment
   constraint to 8. Previously it may have triggered watchdog
   timeouts.
 o Check whether interrupt is ours or not.
 o Enable interrupts before attemping to transmit queued packets.
   This will slightly improve TX performance.
 o No need to clear IFF_DRV_OACTIVE in a loop. AE_FLAG_TXAVAIL is
   used to know whether there are enough available TxD ring space.
 o Added missing bus_dmamap_sync(9) in ae_rx_intr() and rearranged
   code to avoid unncessary register access.
 o Make sure to clear TxD, TxS, RxD rings in driver initialization.
   Otherwise some data in these rings could be interpreted as
   'updated' which in turn will advance internally maintained
   pointers and can trigger watchdog timeouts.

PR:	kern/180382

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase