From ee9b29550f887f125253826c7af3495ac41b39f7 Mon Sep 17 00:00:00 2001 From: Ori Bernstein Date: Sun, 23 Dec 2018 23:10:42 -0800 Subject: Make the check work. Embarrassing. --- sys/src/cmd/nusb/disk/disk.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/sys/src/cmd/nusb/disk/disk.c b/sys/src/cmd/nusb/disk/disk.c index 6017881ab..8779cbc2c 100644 --- a/sys/src/cmd/nusb/disk/disk.c +++ b/sys/src/cmd/nusb/disk/disk.c @@ -361,15 +361,6 @@ umsinit(void) return 0; } -static int -needunstall(void) -{ - char buf[ERRMAX]; - - rerrstr(buf, sizeof(buf)); - return strstr(buf, "medium not present") == nil; -} - /* * called by SR*() commands provided by scuzz's scsireq @@ -377,11 +368,15 @@ needunstall(void) long umsrequest(Umsc *umsc, ScsiPtr *cmd, ScsiPtr *data, int *status) { + char buf[ERRMAX]; Cbw cbw; Csw csw; - int n, nio; + int n, nio, present; Ums *ums; + rerrstr(buf, sizeof(buf)); + present = strstr(buf, "medium not present") == nil; + ums = umsc->ums; memcpy(cbw.signature, "USBC", 4); @@ -427,7 +422,7 @@ umsrequest(Umsc *umsc, ScsiPtr *cmd, ScsiPtr *data, int *status) else fprint(2, "disk: data: %d bytes (nio: %d)\n", n, nio); nio = n; - if(n < 0 && needunstall() || (n <= 9 || data->write == 0)) + if((n == 0 && present) || (n < 0 && data->write == 0)) unstall(dev, ums->epin, Ein); } -- cgit v1.2.3