ref: 77cad09073e33cd56eee8482acf1310aa1d44513
parent: a5c6b544c622e5a24bad2212b1f52b7e0bc87788
author: cinap_lenrek <cinap_lenrek@rei2.9hal>
date: Sat Feb 11 23:02:33 EST 2012
sdide: fix lba48 transition bug
--- a/sys/src/9/pc/sdide.c
+++ b/sys/src/9/pc/sdide.c
@@ -1275,7 +1275,7 @@
};
enum{- Last28 = (1<<28) - 1 - 1,
+ Last28 = (1<<28) - 1,
};
static int
@@ -1286,7 +1286,7 @@
int as, c, cmdport, ctlport, h, len, s, use48;
use48 = 0;
- if((drive->flags&Lba48always) || lba > Last28 || drive->count > 256){+ if((drive->flags&Lba48always) || (lba+drive->count) > Last28 || drive->count > 256){if((drive->feat & Dllba) == 0)
return -1;
use48 = 1;
--
⑨