Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: [libata] LBA28/LBA48 off-by-one bug in ata.h sata_inic162x: enable LED blinking ata: duplicate variable sparse warning
This commit is contained in:
@@ -1499,7 +1499,7 @@ static int __devinit piix_init_one(struct pci_dev *pdev,
|
|||||||
* off.
|
* off.
|
||||||
*/
|
*/
|
||||||
if (pdev->vendor == PCI_VENDOR_ID_INTEL && pdev->device == 0x2652) {
|
if (pdev->vendor == PCI_VENDOR_ID_INTEL && pdev->device == 0x2652) {
|
||||||
int rc = piix_disable_ahci(pdev);
|
rc = piix_disable_ahci(pdev);
|
||||||
if (rc)
|
if (rc)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
@@ -96,6 +96,7 @@ enum {
|
|||||||
PORT_SCR = 0x20,
|
PORT_SCR = 0x20,
|
||||||
|
|
||||||
/* HOST_CTL bits */
|
/* HOST_CTL bits */
|
||||||
|
HCTL_LEDEN = (1 << 3), /* enable LED operation */
|
||||||
HCTL_IRQOFF = (1 << 8), /* global IRQ off */
|
HCTL_IRQOFF = (1 << 8), /* global IRQ off */
|
||||||
HCTL_FTHD0 = (1 << 10), /* fifo threshold 0 */
|
HCTL_FTHD0 = (1 << 10), /* fifo threshold 0 */
|
||||||
HCTL_FTHD1 = (1 << 11), /* fifo threshold 1*/
|
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);
|
void __iomem *port_base = inic_port_base(ap);
|
||||||
|
|
||||||
/* fire up the ADMA engine */
|
/* 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);
|
writew(IDMA_CTL_GO, port_base + PORT_IDMA_CTL);
|
||||||
writeb(0, port_base + PORT_CPB_PTQFIFO);
|
writeb(0, port_base + PORT_CPB_PTQFIFO);
|
||||||
|
|
||||||
|
@@ -745,7 +745,7 @@ static inline int ata_ok(u8 status)
|
|||||||
static inline int lba_28_ok(u64 block, u32 n_block)
|
static inline int lba_28_ok(u64 block, u32 n_block)
|
||||||
{
|
{
|
||||||
/* check the ending block number */
|
/* 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)
|
static inline int lba_48_ok(u64 block, u32 n_block)
|
||||||
|
Reference in New Issue
Block a user