(split) Don't iterate through the bits of the pending interrupt register if the
whole register is zero.  Most of the registers will be zero most of the time.
(split) Fix some types. Compilation for external target complains that "u_int"
is not idential to "uint32_t" when defining set channel prototype
functions. The WLAN channel range should be from 0 to 65535
inclusivly, and u_int should be fine for this purpose.
(split) Fix a potential memory leak.

MFC after:	1 week
(split) Merge branch 'CURRENT' (commit 'fb1ac62b')

Conflicts:
	sys/dev/usb/wlan/if_run.c