wlan: reprogram skb data buffer if all the headroom is available

It has been seen that in certain scenarios the skb data buffer
is programmed in the the DMA engine in such a way that the skb
data buffer points to the skb tail pointer, in such cases the
dma engine will overwrite a memory region being referenced by
the skb tail pointer corrupting the memory. This can result in
various crashes, so before programming the DMA engine with data
buffere try to use the skb headroom when the error condition is
met, but if WLAN_BUG_ON_SKB_ERROR is defined panic the device
so that extra information can be obtained.

Change-Id: Ia76de4b572cf0198a8f3fa149ea72797d2096fcc
CRs-Fixed: 605122
wlan: do not wait for WDA_HALDumpCmdReq() to complete

WDA_HALDumpCmdReq() does not return till it receives
a response from the firmware, so do not wait for it
to complete as it is a synchronous call.

Change-Id: I89743c58d2f82b7cae561c024349ca5be394649e
CRs-Fixed: 609232
Wlan: Revision 3.2.3.247a

 Revision 3.2.3.247a

Change-Id: I14fc4fc265a827c5ed1d7f9cf4709227a618ff5f