diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
index 63ae23b5c0787aa90d710652474ecc750f3776cc..e63c1ff1e10256ed2b023341c098978a690ad0b8 100644
--- a/drivers/scsi/libata-core.c
+++ b/drivers/scsi/libata-core.c
@@ -278,7 +278,7 @@ static void ata_unpack_xfermask(unsigned int xfer_mask,
 }
 
 static const struct ata_xfer_ent {
-	unsigned int shift, bits;
+	int shift, bits;
 	u8 base;
 } ata_xfer_tbl[] = {
 	{ ATA_SHIFT_PIO, ATA_BITS_PIO, XFER_PIO_0 },