diff options
| -rw-r--r-- | drivers/ata/ata_piix.c | 2 | ||||
| -rw-r--r-- | drivers/ata/sata_inic162x.c | 3 | ||||
| -rw-r--r-- | include/linux/ata.h | 2 | 
3 files changed, 4 insertions, 3 deletions
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index b1d08a8f500..e6b4606e36b 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c @@ -1499,7 +1499,7 @@ static int __devinit piix_init_one(struct pci_dev *pdev,  	 * off.  	 */  	if (pdev->vendor == PCI_VENDOR_ID_INTEL && pdev->device == 0x2652) { -		int rc = piix_disable_ahci(pdev); +		rc = piix_disable_ahci(pdev);  		if (rc)  			return rc;  	} diff --git a/drivers/ata/sata_inic162x.c b/drivers/ata/sata_inic162x.c index 3ead02fe379..5032c32fa50 100644 --- a/drivers/ata/sata_inic162x.c +++ b/drivers/ata/sata_inic162x.c @@ -96,6 +96,7 @@ enum {  	PORT_SCR		= 0x20,  	/* HOST_CTL bits */ +	HCTL_LEDEN		= (1 << 3),  /* enable LED operation */  	HCTL_IRQOFF		= (1 << 8),  /* global IRQ off */  	HCTL_FTHD0		= (1 << 10), /* fifo threshold 0 */  	HCTL_FTHD1		= (1 << 11), /* fifo threshold 1*/ @@ -540,7 +541,7 @@ static unsigned int inic_qc_issue(struct ata_queued_cmd *qc)  	void __iomem *port_base = inic_port_base(ap);  	/* fire up the ADMA engine */ -	writew(HCTL_FTHD0, port_base + HOST_CTL); +	writew(HCTL_FTHD0 | HCTL_LEDEN, port_base + HOST_CTL);  	writew(IDMA_CTL_GO, port_base + PORT_IDMA_CTL);  	writeb(0, port_base + PORT_CPB_PTQFIFO); diff --git a/include/linux/ata.h b/include/linux/ata.h index 1ce19c1ef0e..8a12d718c16 100644 --- a/include/linux/ata.h +++ b/include/linux/ata.h @@ -745,7 +745,7 @@ static inline int ata_ok(u8 status)  static inline int lba_28_ok(u64 block, u32 n_block)  {  	/* check the ending block number */ -	return ((block + n_block - 1) < ((u64)1 << 28)) && (n_block <= 256); +	return ((block + n_block) < ((u64)1 << 28)) && (n_block <= 256);  }  static inline int lba_48_ok(u64 block, u32 n_block)  |