File tree Expand file tree Collapse file tree 2 files changed +5
-4
lines changed Expand file tree Collapse file tree 2 files changed +5
-4
lines changed Original file line number Diff line number Diff line change 5
5
"errors"
6
6
"fmt"
7
7
"machine"
8
+ "machine/usb"
8
9
"time"
9
10
)
10
11
@@ -17,8 +18,8 @@ func (m *msc) RegisterBlockDevice(dev machine.BlockDevice) {
17
18
m .dev = dev
18
19
19
20
if cap (m .blockCache ) != int (dev .WriteBlockSize ()) {
20
- m .blockCache = make ([]byte , dev .WriteBlockSize ())
21
- m .buf = make ([]byte , dev .WriteBlockSize ())
21
+ m .blockCache = make ([]byte , max ( usb . EndpointPacketSize , dev .WriteBlockSize () ))
22
+ m .buf = make ([]byte , max ( usb . EndpointPacketSize , dev .WriteBlockSize () ))
22
23
}
23
24
24
25
m .blockSizeRaw = uint32 (m .dev .WriteBlockSize ())
Original file line number Diff line number Diff line change @@ -72,9 +72,9 @@ func newMSC(dev machine.BlockDevice) *msc {
72
72
maxPacketSize := descriptor .EndpointMSCIN .GetMaxPacketSize ()
73
73
m := & msc {
74
74
// Some platforms require reads/writes to be aligned to the full underlying hardware block
75
- blockCache : make ([]byte , dev .WriteBlockSize ()),
75
+ blockCache : make ([]byte , max ( usb . EndpointPacketSize , dev .WriteBlockSize () )),
76
76
blockSizeUSB : 512 ,
77
- buf : make ([]byte , dev .WriteBlockSize ()),
77
+ buf : make ([]byte , max ( usb . EndpointPacketSize , dev .WriteBlockSize () )),
78
78
cswBuf : make ([]byte , csw .MsgLen ),
79
79
cbw : & CBW {Data : make ([]byte , 31 )},
80
80
maxPacketSize : uint32 (maxPacketSize ),
You can’t perform that action at this time.
0 commit comments