]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
[PATCH] libata: add missing sht->slave_destroy
authorTejun Heo <htejun@gmail.com>
Wed, 29 Nov 2006 02:26:47 +0000 (11:26 +0900)
committerTejun Heo <htejun@gmail.com>
Wed, 29 Nov 2006 05:57:58 +0000 (14:57 +0900)
Many LLDs are missing sht->slave_destroy.  The method is mandatory to
support device warm unplugging (echo 1 > /sys/.../delete).  Without
it, libata might access released scsi device.

Signed-off-by: Tejun Heo <htejun@gmail.com>
38 files changed:
drivers/ata/ata_generic.c
drivers/ata/pata_ali.c
drivers/ata/pata_amd.c
drivers/ata/pata_artop.c
drivers/ata/pata_atiixp.c
drivers/ata/pata_cmd64x.c
drivers/ata/pata_cs5520.c
drivers/ata/pata_cs5530.c
drivers/ata/pata_cs5535.c
drivers/ata/pata_cypress.c
drivers/ata/pata_efar.c
drivers/ata/pata_hpt366.c
drivers/ata/pata_hpt37x.c
drivers/ata/pata_hpt3x2n.c
drivers/ata/pata_hpt3x3.c
drivers/ata/pata_isapnp.c
drivers/ata/pata_it821x.c
drivers/ata/pata_jmicron.c
drivers/ata/pata_legacy.c
drivers/ata/pata_mpiix.c
drivers/ata/pata_netcell.c
drivers/ata/pata_ns87410.c
drivers/ata/pata_oldpiix.c
drivers/ata/pata_opti.c
drivers/ata/pata_optidma.c
drivers/ata/pata_pcmcia.c
drivers/ata/pata_pdc2027x.c
drivers/ata/pata_pdc202xx_old.c
drivers/ata/pata_qdi.c
drivers/ata/pata_radisys.c
drivers/ata/pata_rz1000.c
drivers/ata/pata_sc1200.c
drivers/ata/pata_serverworks.c
drivers/ata/pata_sil680.c
drivers/ata/pata_sis.c
drivers/ata/pata_sl82c105.c
drivers/ata/pata_triflex.c
drivers/ata/pata_via.c

index 377425e7139190a855ec551f0f3236ff83431dd4..4a80ff9312b8c313ace7277619db1ad3445c778e 100644 (file)
@@ -116,6 +116,7 @@ static struct scsi_host_template generic_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 1d695df5860a3ac44fc77476847d88f50927d7fb..64eed99f681481d08643d3504fdf07be11518c44 100644 (file)
@@ -346,6 +346,7 @@ static struct scsi_host_template ali_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 5c47a9e0e0ca0742d9d63fb72ad513395b0428c2..8be46a63af74fe662a96c00dc663da9e630026ee 100644 (file)
@@ -333,6 +333,7 @@ static struct scsi_host_template amd_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 96a098020a8f743a6206370c74af03897ce54f36..2cd30761ca1f3f471fac39c6cc913ba02ac24684 100644 (file)
@@ -314,6 +314,7 @@ static struct scsi_host_template artop_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 1ce28d2125f400f1cc7579ce83fb87c1f0d0b1e3..4e1d3b59adbb54e0615755d2dc3b06a362e4a73b 100644 (file)
@@ -216,6 +216,7 @@ static struct scsi_host_template atiixp_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index b9bbd1d454bf25229212e584ab0bab735991b09d..29a60df465dafe38d805de4c99cc55650660f207 100644 (file)
@@ -275,6 +275,7 @@ static struct scsi_host_template cmd64x_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 2cd3c0ff76df313cfa619aa62d407e4bf33e03ee..33d2b88f9c79722f6f84ebdf5b0654cba273460e 100644 (file)
@@ -166,6 +166,7 @@ static struct scsi_host_template cs5520_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index a07cc81ef7916dfdc8814ec298ed187b35403c71..981f4922346974a37afabf1768a2061e71aba22d 100644 (file)
@@ -180,6 +180,7 @@ static struct scsi_host_template cs5530_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index f8def3f9c618aa51592a7a837e47e4b52605341c..8dafa4a49fdcb137d48de80293df69d669980883 100644 (file)
@@ -184,6 +184,7 @@ static struct scsi_host_template cs5535_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 247b43608b14e0fb8fc26447a54fd1d2f57cfdea..5a0b811907ee82913dcf083daf4d052aab72019d 100644 (file)
@@ -135,6 +135,7 @@ static struct scsi_host_template cy82c693_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index ef18c60fe14027802f3bfc2ff4e8c7496320fda7..755f79279de3078393151ec2bf61094a77689bff 100644 (file)
@@ -233,6 +233,7 @@ static struct scsi_host_template efar_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 6d3e4c0f15febf1c6a9afd125cedca6b0d5a932c..c0e150a9586b9163fcfb62094bf59f216c314a08 100644 (file)
@@ -329,6 +329,7 @@ static struct scsi_host_template hpt36x_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index fce3fcdc7e791d51c10569c9290a08eeb767a781..1eeb16f0fb02fd715f24773ec7b112e53c72fbcc 100644 (file)
@@ -775,6 +775,7 @@ static struct scsi_host_template hpt37x_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 58cfb2bc8098ba1e3e542a7354d07c7952da4be4..47d7664e9eee7480817b47ad5cb59b300a71b85f 100644 (file)
@@ -341,6 +341,7 @@ static struct scsi_host_template hpt3x2n_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 3334d72e251bf675b4d326c3eacbba76db998bb4..d216cc564b56c55b8c5528e92dd5afb5a3b460be 100644 (file)
@@ -118,6 +118,7 @@ static struct scsi_host_template hpt3x3_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 640b8b0954f53ab5cd7a439c9c525040f796f4d9..40ca2b82b7fc7bf9f9a670f613fe680b6dce6604 100644 (file)
@@ -34,6 +34,7 @@ static struct scsi_host_template isapnp_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 18ff3e59a89bad0f4db82192660009ad25bbc52c..7f68f14be6fd7f331701334f62bd38ba0d816a44 100644 (file)
@@ -675,6 +675,7 @@ static struct scsi_host_template it821x_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 52a2bdf3c38de3109877679c1ef25a48de65873e..0210b10d49cde3ac98c9ce461b4eb40471d31973 100644 (file)
@@ -136,6 +136,7 @@ static struct scsi_host_template jmicron_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        /* Use standard CHS mapping rules */
        .bios_param             = ata_std_bios_param,
 };
index 10231ef731d124a57c27c5f09ea34d9c51230d48..b39078b2a47b5a37e4b1142723ab38721b42190f 100644 (file)
@@ -135,6 +135,7 @@ static struct scsi_host_template legacy_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 9dfe3e9abea31bf21d2d63136d54247d4bee52a5..e00d406bfdf57c90d7300755070a5f4055ebd7b2 100644 (file)
@@ -166,6 +166,7 @@ static struct scsi_host_template mpiix_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index f5672de99c22d3012bb419e5956e410db3f83f74..1963a4d358736c998940468cf10924237abebf53 100644 (file)
@@ -62,6 +62,7 @@ static struct scsi_host_template netcell_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        /* Use standard CHS mapping rules */
        .bios_param             = ata_std_bios_param,
 };
index 2a3dbeed89b469d25bd7c7f6ab8849721d76c37a..7ec800f00ec8904d1a7f6cf87ce9ee8e68f428b7 100644 (file)
@@ -156,6 +156,7 @@ static struct scsi_host_template ns87410_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index fc947dfecd73e97c2c22994e3a747d7c3f607723..8837256632e926f49d2064a2549c60b47756de1e 100644 (file)
@@ -231,6 +231,7 @@ static struct scsi_host_template oldpiix_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index a7320ba15575490e85e1905b26b4669e4c18c173..c6319cf50de4d83d87844ee8d3615852da9bc807 100644 (file)
@@ -202,6 +202,7 @@ static struct scsi_host_template opti_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index c6906b4215de266d595e175672554d81d2c870a2..2f4770cce04e45c450496a9da75f9fc7cc145719 100644 (file)
@@ -359,6 +359,7 @@ static struct scsi_host_template optidma_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index e93ea2702c73913966f2da6bd03c6f8e5762a6ec..999922de476e0438131dafda3896c7f4e9d9561e 100644 (file)
@@ -69,6 +69,7 @@ static struct scsi_host_template pcmcia_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index d894d9918b1d4c2acdbd3c709fa4f1a4a86030cc..beb6d10a234ba921cc55a6c2ffe032f7361fbeb1 100644 (file)
@@ -141,6 +141,7 @@ static struct scsi_host_template pdc2027x_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 5ba9eb20a6c243140515e33470332b1906aaf194..6baf51b2fda19437bc1de4569d85bf6f7e656450 100644 (file)
@@ -269,6 +269,7 @@ static struct scsi_host_template pdc_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 2c3cc0ccc6060fd19bdce5631bccb2e4b475005f..314938dea1fcbd9b98f67ed61531608befb580ed 100644 (file)
@@ -164,6 +164,7 @@ static struct scsi_host_template qdi_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 1af83d7694d5fc704adc1525551302eabd382970..048c2bb21ef1b72dfdd5a13ad503b88d7b7d8a6c 100644 (file)
@@ -227,6 +227,7 @@ static struct scsi_host_template radisys_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 4533b6357d99ac5022af06ba02c8affd74892b3a..e4e5ea423fef2f5d2f7af3fee3d0cd4bba4e2688 100644 (file)
@@ -90,6 +90,7 @@ static struct scsi_host_template rz1000_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 067d9d223e350f078e955e28dce39d00950ed803..0c75dae74764aa7f8d0021d06d194a1310facd4f 100644 (file)
@@ -193,6 +193,7 @@ static struct scsi_host_template sc1200_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 5bbf76ec14a4d7bd00c0cb323d393190d7feb9fe..be7f60efcb61e51604540656c85abde8873e2975 100644 (file)
@@ -325,6 +325,7 @@ static struct scsi_host_template serverworks_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 4a2b72b4be8ac07a48f0ae21a1d394a4eafdfc95..11942fd03b55942ea27a49e886de828cd42ea801 100644 (file)
@@ -225,6 +225,7 @@ static struct scsi_host_template sil680_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index b9ffafb4198ceacb886b91e4de6bf6f3790b7d1d..91e85f90941d642fd1240715a51e8cca161996ec 100644 (file)
@@ -545,6 +545,7 @@ static struct scsi_host_template sis_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 08a6dc88676fe7085ae6c0d2775479922ae38804..dc1cfc6d805b680c3f67176f15b37d19e6ab865e 100644 (file)
@@ -237,6 +237,7 @@ static struct scsi_host_template sl82c105_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 9640f80e8b0d9bbb6bfdc2e9004ec3f9c9be6412..bfda1f7e760abcb7d12fcd9f75d8529e8f41d5ef 100644 (file)
@@ -192,6 +192,7 @@ static struct scsi_host_template triflex_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };
 
index 1e7be9eee9c3c4cf112293b59d51670b6887dfb9..c5f1616d224d749bd1395523d457e78f919342a5 100644 (file)
@@ -295,6 +295,7 @@ static struct scsi_host_template via_sht = {
        .proc_name              = DRV_NAME,
        .dma_boundary           = ATA_DMA_BOUNDARY,
        .slave_configure        = ata_scsi_slave_config,
+       .slave_destroy          = ata_scsi_slave_destroy,
        .bios_param             = ata_std_bios_param,
 };