ASoC: qcom: qdsp6v2: fix crash due to asynchronous read/write

Whenever an async read command is issued to dsp when
the driver is not enabled, there is a crash in userspace.
The read command is disallowed in the driver and an error
is propagated to userspace which results in the crash.
The driver is re-enabled in a subsequent asynchronous write
command anyway, so the async read command can be allowed.
Ensure that read is allowed by removing a superfluous check.

CRs-Fixed: 675131
Signed-off-by: Satya Krishna Pindiproli <satyak@codeaurora.org>
Change-Id: I5d0598e37d08ac1090f98c24be49fd99c132e22f
asoc: msm: MBHC fixes, round 2

 * Reset the gnd-mic switch when the headset is inserted. Some
   headsets end up in a weird state otherwise.
 * Micbias does not need to be on all the time for regular headsets
   in order to detect button presses. Disable it.
 * Tweak the thresholds such that headsets which require 2.7V on
   micbias correctly start as HIGH_HPH. They will be corrected to
   headsets after the micbias is turned on in subsequent passes.

Change-Id: Ia846d95b81f2dcde1f14e77b0d69d6ab034b4bb4
asoc: msm: Check headset insertion for consistency

 * It's possible to get a noisy reading during polling when
   transitioning to PLUG_TYPE_HEADSET. Poll again to double
   check that it's really a headset.
 * This helps when music is at full volume and a headphone
   is inserted. Double-checking the reading vastly improves
   the case where a noisy reading causes a mic to be detected.

Change-Id: I6e0863a46cdfd5316d798bc9b8348927fa403890