Re: musb: handling Blackfin anomaly 05000450

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 28, 2011 at 05:06, Mike Frysinger wrote:
> so in common code:
> --- a/drivers/usb/musb/musb_host.c
> +++ b/drivers/usb/musb/musb_host.c

we also tweak musb_gadget.c in the same way for the same reason, so
handling inside of channel_program() seems like the saner route.

--- a/drivers/usb/musb/musb_gadget.c
+++ b/drivers/usb/musb/musb_gadget.c
@@ -380,7 +380,13 @@ static void txstate(struct musb *musb, struct
musb_request *req)
            use_dma = use_dma && c->channel_program(
                    musb_ep->dma, musb_ep->packet_sz,
                    musb_ep->dma->desired_mode,
-                   request->dma + request->actual, request_size);
+                   request->dma + request->actual,
+                   (musb_ep->dma->desired_mode == 0)
+                   ? request_size
+                   : (request_size -
+                     (request_size %
+                      musb_ep->packet_sz)));
+
            if (use_dma) {
                if (musb_ep->dma->desired_mode == 0) {
                    /*
@@ -747,7 +753,11 @@ static void rxstate(struct musb *musb, struct
musb_request *req)
                            channel->desired_mode,
                            request->dma
                            + request->actual,
-                           transfer_size);
+                           (musb_ep->dma->desired_mode == 0)
+                           ? transfer_size
+                           : (transfer_size -
+                             (transfer_size %
+                             musb_ep->packet_sz)));
                }

                if (use_dma)
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux