~ubuntu-branches/ubuntu/raring/linux-ti-omap4/raring-proposed

« back to all changes in this revision

Viewing changes to drivers/usb/host/xhci-ring.c

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati, Ubuntu: 3.5.0-26.42
  • Date: 2013-03-14 15:21:40 UTC
  • mfrom: (76.1.1 quantal-proposed)
  • Revision ID: package-import@ubuntu.com-20130314152140-tl4mkjmxa038tm3h
Tags: 3.5.0-221.31
* Release Tracking Bug
  - LP: #1153648

[ Paolo Pisati ]

* rebased on Ubuntu-3.5.0-26.42

[ Ubuntu: 3.5.0-26.42 ]

* Release Tracking Bug
  - LP: #1152715
* ubuntu: overlayfs -- fix missmerge of vfs_open changes
  - LP: #1122094, #1147678

Show diffs side-by-side

added added

removed removed

Lines of Context:
1698
1698
                                faked_port_index + 1);
1699
1699
                if (slot_id && xhci->devs[slot_id])
1700
1700
                        xhci_ring_device(xhci, slot_id);
1701
 
                if (bus_state->port_remote_wakeup && (1 << faked_port_index)) {
 
1701
                if (bus_state->port_remote_wakeup & (1 << faked_port_index)) {
1702
1702
                        bus_state->port_remote_wakeup &=
1703
1703
                                ~(1 << faked_port_index);
1704
1704
                        xhci_test_and_clear_bit(xhci, port_array,
2587
2587
                                (trb_comp_code != COMP_STALL &&
2588
2588
                                        trb_comp_code != COMP_BABBLE))
2589
2589
                                xhci_urb_free_priv(xhci, urb_priv);
 
2590
                        else
 
2591
                                kfree(urb_priv);
2590
2592
 
2591
2593
                        usb_hcd_unlink_urb_from_ep(bus_to_hcd(urb->dev->bus), urb);
2592
2594
                        if ((urb->actual_length != urb->transfer_buffer_length &&
3106
3108
         * running_total.
3107
3109
         */
3108
3110
        packets_transferred = (running_total + trb_buff_len) /
3109
 
                usb_endpoint_maxp(&urb->ep->desc);
 
3111
                GET_MAX_PACKET(usb_endpoint_maxp(&urb->ep->desc));
3110
3112
 
3111
3113
        if ((total_packet_count - packets_transferred) > 31)
3112
3114
                return 31 << 17;
3640
3642
                td_len = urb->iso_frame_desc[i].length;
3641
3643
                td_remain_len = td_len;
3642
3644
                total_packet_count = DIV_ROUND_UP(td_len,
3643
 
                                usb_endpoint_maxp(&urb->ep->desc));
 
3645
                                GET_MAX_PACKET(
 
3646
                                        usb_endpoint_maxp(&urb->ep->desc)));
3644
3647
                /* A zero-length transfer still involves at least one packet. */
3645
3648
                if (total_packet_count == 0)
3646
3649
                        total_packet_count++;
3662
3665
                td = urb_priv->td[i];
3663
3666
                for (j = 0; j < trbs_per_td; j++) {
3664
3667
                        u32 remainder = 0;
3665
 
                        field = TRB_TBC(burst_count) | TRB_TLBPC(residue);
 
3668
                        field = 0;
3666
3669
 
3667
3670
                        if (first_trb) {
 
3671
                                field = TRB_TBC(burst_count) |
 
3672
                                        TRB_TLBPC(residue);
3668
3673
                                /* Queue the isoc TRB */
3669
3674
                                field |= TRB_TYPE(TRB_ISOC);
3670
3675
                                /* Assume URB_ISO_ASAP is set */