USB: gadget: u_bam_data: Check USB state under spinlock

While starting/stopping endless transfers, USB may get
disconnected. This is checked using port_data just before
calling usb_ep_queue. But, this is possibility of disconnect
happening after this check resulting in NULL pointer
dereference when accessing port_usb->in/out EPs. Fix this
by checking for cable connection under spinlock and using
a copy of EP context for calling usb_ep_queue.

Change-Id: I196650223f1350a5c5cc2cd173a67dc3c64c2dc6
CRs-fixed: 756048
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Signed-off-by: Sridhar Ancha <sancha@codeaurora.org>
USB: gadget: rndis: Allow reading of 'rx_trigger' attribute value

rx_trigger attribute is used by userspace to kickstart RX
once end to end data path is setup on USB connection.
Currently this attribute is write only. Make it readable
so that userspace can read it back during fast USB connect
disconnect scenarios which results in net core missing to
send NETLINK DISCONNECT events. Userspace can read this back
on CONNECT to figure out any missed disconnect events.

Change-Id: Ief1d93b1e29103336b672cf0e8abcfe881aaa617
Signed-off-by: Manu Gautam <mgautam@codeaurora.org>
Merge "USB: gadget: u_bam_data: Check USB state under spinlock" into LNX.LE.3.2.c1