Skip to contentSkip to conversation

2.6.x libata updates

PATCH In review Jeff Garzik 2 participants 3 messages Mar 7, 2005 – Mar 8, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 2.6.x libata updates

Please do a

bk pull bk://gkernel.bkbits.net/libata-2.6

This will update the following files:

 drivers/scsi/libata-core.c |   16 ++++++----------
 drivers/scsi/sata_nv.c     |    6 ++++--
 drivers/scsi/sata_sil.c    |    2 +-
 drivers/scsi/sata_svw.c    |    4 ++--
 drivers/scsi/sata_vsc.c    |    3 ++-
 5 files changed, 15 insertions(+), 16 deletions(-)

through these ChangeSets:

Adam J. Richter:
o ata_pci_remove_one used freed memory

Adrian Bunk:
o drivers/scsi/sata_*: make code static

drivers/scsi/libata-core.c +6 -10
diff -Nru a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c
@@ -3884,26 +3884,22 @@
 		ap = host_set->ports[i];
 
 		ata_scsi_release(ap->host);
-		scsi_host_put(ap->host);
-	}
-
-	pci_release_regions(pdev);
-
-	for (i = 0; i < host_set->n_ports; i++) {
-		struct ata_ioports *ioaddr;
-
-		ap = host_set->ports[i];
-		ioaddr = &ap->ioaddr;
 
 		if ((ap->flags & ATA_FLAG_NO_LEGACY) == 0) {
+			struct ata_ioports *ioaddr = &ap->ioaddr;
+
 			if (ioaddr->cmd_addr == 0x1f0)
 				release_region(0x1f0, 8);
 			else if (ioaddr->cmd_addr == 0x170)
 				release_region(0x170, 8);
 		}
+
+		scsi_host_put(ap->host);
 	}
 
 	kfree(host_set);
+
+	pci_release_regions(pdev);
 	pci_disable_device(pdev);
 	dev_set_drvdata(dev, NULL);
 }
drivers/scsi/sata_nv.c +4 -2
diff -Nru a/drivers/scsi/sata_nv.c b/drivers/scsi/sata_nv.c
@@ -99,7 +99,8 @@
 #define NV_MCP_SATA_CFG_20_SATA_SPACE_EN	0x04
 
 static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
-irqreturn_t nv_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
+static irqreturn_t nv_interrupt (int irq, void *dev_instance,
+				 struct pt_regs *regs);
 static u32 nv_scr_read (struct ata_port *ap, unsigned int sc_reg);
 static void nv_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
 static void nv_host_stop (struct ata_host_set *host_set);
@@ -257,7 +258,8 @@
 MODULE_DEVICE_TABLE(pci, nv_pci_tbl);
 MODULE_VERSION(DRV_VERSION);
 
-irqreturn_t nv_interrupt (int irq, void *dev_instance, struct pt_regs *regs)
+static irqreturn_t nv_interrupt (int irq, void *dev_instance,
+				 struct pt_regs *regs)
 {
 	struct ata_host_set *host_set = dev_instance;
 	struct nv_host *host = host_set->private_data;
drivers/scsi/sata_sil.c +1 -1
diff -Nru a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c
@@ -78,7 +78,7 @@
 
 
 /* TODO firmware versions should be added - eric */
-struct sil_drivelist {
+static const struct sil_drivelist {
 	const char * product;
 	unsigned int quirk;
 } sil_blacklist [] = {
drivers/scsi/sata_svw.c +2 -2
diff -Nru a/drivers/scsi/sata_svw.c b/drivers/scsi/sata_svw.c
@@ -156,7 +156,7 @@
  *	spin_lock_irqsave(host_set lock)
  */
 
-void k2_bmdma_setup_mmio (struct ata_queued_cmd *qc)
+static void k2_bmdma_setup_mmio (struct ata_queued_cmd *qc)
 {
 	struct ata_port *ap = qc->ap;
 	unsigned int rw = (qc->tf.flags & ATA_TFLAG_WRITE);
@@ -186,7 +186,7 @@
  *	spin_lock_irqsave(host_set lock)
  */
 
-void k2_bmdma_start_mmio (struct ata_queued_cmd *qc)
+static void k2_bmdma_start_mmio (struct ata_queued_cmd *qc)
 {
 	struct ata_port *ap = qc->ap;
 	void *mmio = (void *) ap->ioaddr.bmdma_addr;
drivers/scsi/sata_vsc.c +2 -1
diff -Nru a/drivers/scsi/sata_vsc.c b/drivers/scsi/sata_vsc.c
@@ -155,7 +155,8 @@
  *
  * Read the interrupt register and process for the devices that have them pending.
  */
-irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance, struct pt_regs *regs)
+static irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance,
+				       struct pt_regs *regs)
 {
 	struct ata_host_set *host_set = dev_instance;
 	unsigned int i;
#1 lore raw
Quoted 13 lines · Jeff Garzik

Please do a

bk pull bk://gkernel.bkbits.net/libata-2.6

This will update the following files:

 drivers/scsi/libata-core.c |   16 ++++++----------
 drivers/scsi/sata_nv.c     |    6 ++++--
 drivers/scsi/sata_sil.c    |    2 +-
 drivers/scsi/sata_svw.c    |    4 ++--
 drivers/scsi/sata_vsc.c    |    3 ++-
 5 files changed, 15 insertions(+), 16 deletions(-)
Quoted 8 lines

through these ChangeSets:

Adam J. Richter:
o ata_pci_remove_one used freed memory

Adrian Bunk:
o drivers/scsi/sata_*: make code static

Is there any plan to include the ATA pass thru functionality into the main kernel tree?

Thanks,
Aurelien

Signature · 4 lines
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian GNU/Linux developer | Electrical Engineer
 `. `'   [email protected]         | [email protected]
   `-    people.debian.org/~aurel32 | www.aurel32.net
#2 lore raw
Quoted 21 lines · Aurelien Jarno
Quoted 18 lines · Jeff Garzik

Please do a

bk pull bk://gkernel.bkbits.net/libata-2.6

This will update the following files:

drivers/scsi/libata-core.c |   16 ++++++----------
drivers/scsi/sata_nv.c     |    6 ++++--
drivers/scsi/sata_sil.c    |    2 +-
drivers/scsi/sata_svw.c    |    4 ++--
drivers/scsi/sata_vsc.c    |    3 ++-
5 files changed, 15 insertions(+), 16 deletions(-)

through these ChangeSets:

Adam J. Richter:
o ata_pci_remove_one used freed memory

Quoted 6 lines
Quoted 3 lines

Adrian Bunk:
o drivers/scsi/sata_*: make code static

Is there any plan to include the ATA pass thru functionality into the main kernel tree?

When the SCSI opcodes are standardized (sometime this month), and a few final locking/sync issues looked into.

Jeff