Commit:     dffe807cdbc6d2409b9bcc87a9517bb7c0d25b65
Parent:     6fdea8dbbe4fc021afb601ef5339d5c5825c5cb6
Author:     Matthew Wilcox <[EMAIL PROTECTED]>
AuthorDate: Wed Aug 15 12:56:56 2007 -0600
Committer:  James Bottomley <[EMAIL PROTECTED]>
CommitDate: Fri Oct 12 14:51:18 2007 -0400

    [SCSI] ncr53c8xx: Call scsi_host_put in release
    Since ncr53c8xx_attach() calls scsi_host_put(), make ncr53c8xx_release()
    call scsi_host_put() too, for symmetry.  Both callers already expect
    it to put the host for them, so that works out nicely.  While the zalon
    driver does 'use' the host pointer afterwards, it only compares it for
    equality and doesn't dereference it, so that's safe.
    While I'm at it, get rid of pointless checks for NULL, use shost_priv()
    and change ncr53c8xx_release to return void.
    Signed-off-by: Matthew Wilcox <[EMAIL PROTECTED]>
    Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
 drivers/scsi/ncr53c8xx.c |   11 ++++-------
 drivers/scsi/ncr53c8xx.h |    2 +-
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c
index 030ba49..91fa66c 100644
--- a/drivers/scsi/ncr53c8xx.c
+++ b/drivers/scsi/ncr53c8xx.c
@@ -8528,18 +8528,15 @@ struct Scsi_Host * __init ncr_attach(struct 
scsi_host_template *tpnt,
-int ncr53c8xx_release(struct Scsi_Host *host)
+void ncr53c8xx_release(struct Scsi_Host *host)
-       struct host_data *host_data;
+       struct host_data *host_data = shost_priv(host);
 #ifdef DEBUG_NCR53C8XX
        printk("ncr53c8xx: release\n");
-       if (!host)
-               return 1;
-       host_data = (struct host_data *)host->hostdata;
-       if (host_data && host_data->ncb)
+       if (host_data->ncb)
-       return 1;
+       scsi_host_put(host);
 static void ncr53c8xx_set_period(struct scsi_target *starget, int period)
diff --git a/drivers/scsi/ncr53c8xx.h b/drivers/scsi/ncr53c8xx.h
index b39357d..0e008da 100644
--- a/drivers/scsi/ncr53c8xx.h
+++ b/drivers/scsi/ncr53c8xx.h
@@ -1321,7 +1321,7 @@ struct ncr_device {
 extern struct Scsi_Host *ncr_attach(struct scsi_host_template *tpnt, int unit, 
struct ncr_device *device);
-extern int ncr53c8xx_release(struct Scsi_Host *host);
+extern void ncr53c8xx_release(struct Scsi_Host *host);
 irqreturn_t ncr53c8xx_intr(int irq, void *dev_id);
 extern int ncr53c8xx_init(void);
 extern void ncr53c8xx_exit(void);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to