audio: Handle sonification for last stream in stopOutput

-Low visibility stream is not muted during voice call when
played back to back.
-In startOutput, handleInCallSonification is called only for
first time i.e. mRefCount is 1. While in stopOutput, it is
called without any check on refCount.
So the second notification stream gets played when stopOutput
of first stream unmutes the muted stream.
-Handle sonification while in call only for last stream in
stopOutput i.e. mRefCount is 0.

CRs-Fixed: 645543
Change-Id: I73727c3cc39e7ceecfbc961c3accb109cd013d96
Audio: Fix HDMI audio device switch issue

- Device routing is not triggered in the following scenario:
  Start playback on HDMI, pause it, unplug and plug the HDMI cable,
  resume playback, music starts on speaker.
- Fix by update outputDesc->mDevice even if the requested device is 0

Change-Id: I4d1c1f76094f4acb20acdb8af68302ea8a1008c5
CRs-Fixed: 606004
 Audio: Fix for audio loss on switching between speaker and USB headset

 - snd device reference count is not decremented when usb headset is
   unplugged, because touch tone is still active on usb headset.
   So when usb is plugged again device routing is not triggered as
   present and prev devices are same
 - Fix is to route audio to speaker as soon as usb headset is
   disconnected

   CRs-Fixed: 630425

Change-Id: Id07bc44a39f72f33b39fd180efd1859de63650e5
wlan: Fix for improper comparison of driver_status string

This commit ensures driver load failure status is compared with
valid string which has the failure/success information.

Change-Id: I3b619ad0c005fb793d127bd2a23b376ed961d0b7
CRs-Fixed: 652539
Merge pull request #1 from CyanogenMod/cm-11.0

Update to upstream