From b39ca1aeb0928b58a648b032ee811a8980ded91f Mon Sep 17 00:00:00 2001 From: Klaus Reimer Date: Sun, 24 Feb 2013 20:09:06 +0100 Subject: [PATCH] Add short package handling --- src/main/java/de/ailis/usb4java/support/ControlIrpQueue.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/de/ailis/usb4java/support/ControlIrpQueue.java b/src/main/java/de/ailis/usb4java/support/ControlIrpQueue.java index 49f5ff9..be2ed14 100644 --- a/src/main/java/de/ailis/usb4java/support/ControlIrpQueue.java +++ b/src/main/java/de/ailis/usb4java/support/ControlIrpQueue.java @@ -12,6 +12,7 @@ import java.nio.ByteBuffer; import javax.usb.UsbControlIrp; import javax.usb.UsbException; import javax.usb.UsbIrp; +import javax.usb.UsbShortPacketException; import javax.usb.event.UsbDeviceDataEvent; import de.ailis.usb4java.exceptions.Usb4JavaException; @@ -64,6 +65,8 @@ public final class ControlIrpQueue extends AbstractIrpQueue buffer.rewind(); buffer.get(irp.getData(), irp.getOffset(), len); irp.setActualLength(len); + if (irp.getActualLength() != irp.getLength() && !irp.getAcceptShortPacket()) + throw new UsbShortPacketException(); } /**