public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] DAC960 Oopses
@ 2004-03-07 14:38 markus.amsler
  0 siblings, 0 replies; only message in thread
From: markus.amsler @ 2004-03-07 14:38 UTC (permalink / raw)
  To: linux-kernel

Hi,

The first part fixes a Kernel paging request failure on alpha with
some older DAC960P cards (i tried D040340-0-DEC/Firmware 2.70).
The Problem was, that ioremap_nocache(NULL) is not  NULL (only on alpha).
This card is still unsupported, due to lacking PCI resources.

The second part fixes a kernel Oops, if the initialization
of the Controller fails (like too old firmware).
In that case, DAC960_UnregisterBlockDevice fails, 
because DAC960_RegisterBlockDevice was never called.
This is a side effect of the multi-queue patch by Dave Olien.

Please CC to me directly.

--- linux-2.6.3/drivers/block/DAC960.c	Wed Feb 18 04:59:05 2004
+++ linux/drivers/block/DAC960.c	Sun Mar  7 11:47:55 2004
@@ -2723,6 +2723,20 @@
 	  break;
   }
 
+  /*
+    Controller with Mylex P/N D040340-0-DEC has no PCI resource[1]!!
+    Checking the MemoryMappedAddress == NULL will fail on 
+    virtual Alpha addresses. 
+  */	  
+  if (!Controller->PCI_Address)
+  {
+	  DAC960_Error("Unable to get PCI Address. "
+		       "This Controller is currently not supported.\n",
+                       Controller);
+	  Controller->IO_Address = 0;
+	  goto Failure;
+  }
+
   pci_set_drvdata(PCI_Device, (void *)((long)Controller->ControllerNumber));
   for (i = 0; i < DAC960_MaxLogicalDrives; i++) {
 	Controller->disks[i] = alloc_disk(1<<DAC960_MaxPartitionsBits);
@@ -3061,8 +3075,8 @@
 				    DAC960_V2_RAID_Controller);
 	  DAC960_Notice("done\n", Controller);
 	}
+    DAC960_UnregisterBlockDevice(Controller);
     }
-  DAC960_UnregisterBlockDevice(Controller);
   DAC960_DestroyAuxiliaryStructures(Controller);
   DAC960_DestroyProcEntries(Controller);
   DAC960_DetectCleanup(Controller);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-03-07 12:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-07 14:38 [PATCH] DAC960 Oopses markus.amsler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox