Date: Sat, 21 Mar 2009 10:35:37 GMT From: Hans Petter Selasky <hselasky@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 159562 for review Message-ID: <200903211035.n2LAZbFF079714@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=159562 Change 159562 by hselasky@hselasky_laptop001 on 2009/03/21 10:34:44 USB storage: - Compile fix for 64-bit target. Affected files ... .. //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#7 edit Differences ... ==== //depot/projects/usb/src/sys/dev/usb/storage/ustorage_fs.c#7 (text+ko) ==== @@ -1583,6 +1583,7 @@ uint8_t error = 1; uint8_t i; uint32_t temp; + const uint32_t mask9 = (0xFFFFFFFFUL >> 9) << 9; /* set default data transfer pointer */ sc->sc_transfer.data_ptr = sc->sc_qdata; @@ -1686,7 +1687,7 @@ i = sc->sc_transfer.cmd_data[4]; sc->sc_transfer.cmd_dir = DIR_WRITE; temp = ((i == 0) ? 256UL : i); - error = ustorage_fs_min_len(sc, temp << 9, 0 - (1UL << 9)); + error = ustorage_fs_min_len(sc, temp << 9, mask9); if (error) { break; } @@ -1702,7 +1703,7 @@ case SC_READ_10: sc->sc_transfer.cmd_dir = DIR_WRITE; temp = get_be16(&sc->sc_transfer.cmd_data[7]); - error = ustorage_fs_min_len(sc, temp << 9, 0 - (1UL << 9)); + error = ustorage_fs_min_len(sc, temp << 9, mask9); if (error) { break; } @@ -1724,7 +1725,7 @@ error = 1; break; } - error = ustorage_fs_min_len(sc, temp << 9, 0 - (1UL << 9)); + error = ustorage_fs_min_len(sc, temp << 9, mask9); if (error) { break; } @@ -1838,7 +1839,7 @@ i = sc->sc_transfer.cmd_data[4]; sc->sc_transfer.cmd_dir = DIR_READ; temp = ((i == 0) ? 256UL : i); - error = ustorage_fs_min_len(sc, temp << 9, 0 - (1UL << 9)); + error = ustorage_fs_min_len(sc, temp << 9, mask9); if (error) { break; } @@ -1854,7 +1855,7 @@ case SC_WRITE_10: sc->sc_transfer.cmd_dir = DIR_READ; temp = get_be16(&sc->sc_transfer.cmd_data[7]); - error = ustorage_fs_min_len(sc, temp << 9, 0 - (1UL << 9)); + error = ustorage_fs_min_len(sc, temp << 9, mask9); if (error) { break; } @@ -1870,13 +1871,13 @@ case SC_WRITE_12: sc->sc_transfer.cmd_dir = DIR_READ; temp = get_be32(&sc->sc_transfer.cmd_data[6]); - if (temp >= (1UL << (32 - 9))) { + if (temp > (mask9 >> 9)) { /* numerical overflow */ sc->sc_csw.bCSWStatus = CSWSTATUS_FAILED; error = 1; break; } - error = ustorage_fs_min_len(sc, temp << 9, 0 - (1UL << 9)); + error = ustorage_fs_min_len(sc, temp << 9, mask9); if (error) { break; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903211035.n2LAZbFF079714>