mirror of
https://github.com/torvalds/linux.git
synced 2026-06-10 15:42:19 +02:00
Merge remote branch 'tegra/android-tegra-2.6.36' into android-tegra-moto-2.6.36
This commit is contained in:
commit
c099038fa0
|
|
@ -643,6 +643,20 @@ int bcmsdh_register_oob_intr(void * dhdp)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void bcmsdh_set_irq(int flag)
|
||||
{
|
||||
if (sdhcinfo->oob_irq_registered) {
|
||||
SDLX_MSG(("%s Flag = %d", __FUNCTION__, flag));
|
||||
if (flag) {
|
||||
enable_irq(sdhcinfo->oob_irq);
|
||||
enable_irq_wake(sdhcinfo->oob_irq);
|
||||
} else {
|
||||
disable_irq_wake(sdhcinfo->oob_irq);
|
||||
disable_irq(sdhcinfo->oob_irq);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void bcmsdh_unregister_oob_intr(void)
|
||||
{
|
||||
SDLX_MSG(("%s: Enter\n", __FUNCTION__));
|
||||
|
|
|
|||
|
|
@ -146,6 +146,8 @@
|
|||
DHD_SPINWAIT_SLEEP_INIT(sdioh_spinwait_sleep);
|
||||
extern int dhdcdc_set_ioctl(dhd_pub_t *dhd, int ifidx, uint cmd, void *buf, uint len);
|
||||
|
||||
extern void bcmsdh_set_irq(int flag);
|
||||
|
||||
#ifdef DHD_DEBUG
|
||||
/* Device console log buffer state */
|
||||
typedef struct dhd_console {
|
||||
|
|
@ -5749,7 +5751,9 @@ dhd_bus_devreset(dhd_pub_t *dhdp, uint8 flag)
|
|||
/* Expect app to have torn down any connection before calling */
|
||||
/* Stop the bus, disable F2 */
|
||||
dhd_bus_stop(bus, FALSE);
|
||||
|
||||
#if defined(OOB_INTR_ONLY)
|
||||
bcmsdh_set_irq(FALSE);
|
||||
#endif /* defined(OOB_INTR_ONLY) */
|
||||
/* Clean tx/rx buffer pointers, detach from the dongle */
|
||||
dhdsdio_release_dongle(bus, bus->dhd->osh, TRUE);
|
||||
|
||||
|
|
@ -5785,6 +5789,7 @@ dhd_bus_devreset(dhd_pub_t *dhdp, uint8 flag)
|
|||
bcmerror = dhd_bus_init((dhd_pub_t *) bus->dhd, FALSE);
|
||||
if (bcmerror == BCME_OK) {
|
||||
#if defined(OOB_INTR_ONLY)
|
||||
bcmsdh_set_irq(TRUE);
|
||||
dhd_enable_oob_intr(bus, TRUE);
|
||||
#endif /* defined(OOB_INTR_ONLY) */
|
||||
bus->dhd->dongle_reset = FALSE;
|
||||
|
|
|
|||
|
|
@ -246,8 +246,10 @@ void*
|
|||
osl_pktget(osl_t *osh, uint len)
|
||||
{
|
||||
struct sk_buff *skb;
|
||||
gfp_t flags;
|
||||
|
||||
if ((skb = dev_alloc_skb(len))) {
|
||||
flags = (in_atomic()) ? GFP_ATOMIC : GFP_KERNEL;
|
||||
if ((skb = __dev_alloc_skb(len, flags))) {
|
||||
skb_put(skb, len);
|
||||
skb->priority = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -504,6 +504,7 @@ static ssize_t mtp_read(struct file *fp, char __user *buf,
|
|||
ret = wait_event_interruptible(dev->read_wq, dev->rx_done);
|
||||
if (ret < 0) {
|
||||
r = ret;
|
||||
usb_ep_dequeue(dev->ep_out, req);
|
||||
goto done;
|
||||
}
|
||||
if (dev->state == STATE_BUSY) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user