aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aic7xxx/aic7xxx_osm.c
diff options
context:
space:
mode:
authorJames Bottomley <James.Bottomley@steeleye.com>2005-07-02 15:46:14 -0400
committerJames Bottomley <jejb@mulgrave.(none)>2005-07-03 11:44:21 -0400
commitace4e7185d565cab057139e8927659bd072bf25a (patch)
treebfabfde5f511dfb58f1b2cad2e3e5406c5a9cbb2 /drivers/scsi/aic7xxx/aic7xxx_osm.c
parentb4687ca42cb82a7821f682dde0310b16ce284770 (diff)
[SCSI] aic7xxx: fix boot hang with Fujitsu drives
Apparently these are the only drives that try to negotiate IU and QAS at u160 speeds. The aic7xxx driver can't cope with this. The fix is to eliminate the IU and QAS setting routines. I've #if 0'd them out, just in case we ever get the sequencer documentation out of Adaptec, since we'd then be able to fix the driver. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/aic7xxx/aic7xxx_osm.c')
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c
index b89094db14c1..cf37e8c07601 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -2633,6 +2633,11 @@ static void ahc_linux_set_dt(struct scsi_target *starget, int dt)
2633 ahc_unlock(ahc, &flags); 2633 ahc_unlock(ahc, &flags);
2634} 2634}
2635 2635
2636#if 0
2637/* FIXME: This code claims to support IU and QAS. However, the actual
2638 * sequencer code and aic7xxx_core have no support for these parameters and
2639 * will get into a bad state if they're negotiated. Do not enable this
2640 * unless you know what you're doing */
2636static void ahc_linux_set_qas(struct scsi_target *starget, int qas) 2641static void ahc_linux_set_qas(struct scsi_target *starget, int qas)
2637{ 2642{
2638 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent); 2643 struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
@@ -2688,6 +2693,7 @@ static void ahc_linux_set_iu(struct scsi_target *starget, int iu)
2688 ppr_options, AHC_TRANS_GOAL, FALSE); 2693 ppr_options, AHC_TRANS_GOAL, FALSE);
2689 ahc_unlock(ahc, &flags); 2694 ahc_unlock(ahc, &flags);
2690} 2695}
2696#endif
2691 2697
2692static struct spi_function_template ahc_linux_transport_functions = { 2698static struct spi_function_template ahc_linux_transport_functions = {
2693 .set_offset = ahc_linux_set_offset, 2699 .set_offset = ahc_linux_set_offset,
@@ -2698,10 +2704,12 @@ static struct spi_function_template ahc_linux_transport_functions = {
2698 .show_width = 1, 2704 .show_width = 1,
2699 .set_dt = ahc_linux_set_dt, 2705 .set_dt = ahc_linux_set_dt,
2700 .show_dt = 1, 2706 .show_dt = 1,
2707#if 0
2701 .set_iu = ahc_linux_set_iu, 2708 .set_iu = ahc_linux_set_iu,
2702 .show_iu = 1, 2709 .show_iu = 1,
2703 .set_qas = ahc_linux_set_qas, 2710 .set_qas = ahc_linux_set_qas,
2704 .show_qas = 1, 2711 .show_qas = 1,
2712#endif
2705}; 2713};
2706 2714
2707 2715