浏览代码

USB: EHCI: compute full-speed bandwidth usage correctly

Although the bandwidth statistics maintained by ehci-hcd show up only
in the /sys/kernel/debug/usb/devices file, they ought to be calculated
correctly.  The calculation for full-speed isochronous endpoints is
wrong; it mistakenly yields bytes per microframe instead of bytes per
frame.  The "interval" value, which is in frames, should not be
converted to microframes.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alan Stern 11 年之前
父节点
当前提交
2b90f01b21
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/usb/host/ehci-sched.c

+ 1 - 1
drivers/usb/host/ehci-sched.c

@@ -1055,7 +1055,7 @@ iso_stream_init (
 		} else
 		} else
 			stream->raw_mask = smask_out [hs_transfers - 1];
 			stream->raw_mask = smask_out [hs_transfers - 1];
 		bandwidth = stream->usecs + stream->c_usecs;
 		bandwidth = stream->usecs + stream->c_usecs;
-		bandwidth /= interval << 3;
+		bandwidth /= interval;
 
 
 		/* stream->splits gets created from raw_mask later */
 		/* stream->splits gets created from raw_mask later */
 		stream->address = cpu_to_hc32(ehci, addr);
 		stream->address = cpu_to_hc32(ehci, addr);