NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/39584: arcmsr(4) driver disk state values are incorrect (for ARC-1220)
>Number: 39584
>Category: kern
>Synopsis: arcmsr(4) driver disk state values are incorrect (for ARC-1220)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Sep 19 08:00:01 +0000 2008
>Originator: Brad du Plessis
>Release: NetBSD 4.0_STABLE
>Organization:
Cathexis Technologies
>Environment:
NetBSD massstorage 4.0_STABLE NetBSD 4.0_STABLE (GENERIC.MP) #8: Thu Sep 18
16:46:11 SAST 2008 root@massstorage:/usr/src/sys/arch/i386/compile/GENERIC.MP
i386
>Description:
I have an Areca ARC-1220:
arcmsr0 at pci2 dev 14 function 0: interrupting at ioapic0 pin 18 (irq 10)
arcmsr0: Areca ARC-1220 Host Adapter RAID controller
arcmsr0: 8 ports, 256MB SDRAM, firmware <V1.43 2007-4-17>
and when performing a show disks with bioctl(8) I get an 'Invalid' disk state
when the disks are actually in the unused, pass through or hot spare state. The
disk state values returned from the device don't match what the driver expects.
>How-To-Repeat:
As above.
>Fix:
This patch addresses the problem on the ARC-1220, not sure if these values are
correct for other Areca devices:
Index: arcmsrvar.h
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/arcmsrvar.h,v
retrieving revision 1.8.4.3
diff -u -r1.8.4.3 arcmsrvar.h
--- arcmsrvar.h 29 Aug 2008 21:24:19 -0000 1.8.4.3
+++ arcmsrvar.h 19 Sep 2008 07:51:18 -0000
@@ -349,9 +349,9 @@
uint8_t device_state;
#define ARC_FW_DISK_INITIALIZED 0x88 /* disk has been initialized */
#define ARC_FW_DISK_RAIDMEMBER 0x89 /* disk is member of a raid set */
-#define ARC_FW_DISK_PASSTHRU 0x8b /* pass through disk */
-#define ARC_FW_DISK_HOTSPARE 0xa9 /* hotspare disk */
-#define ARC_FW_DISK_UNUSED 0xc9 /* free/unused disk */
+#define ARC_FW_DISK_PASSTHRU 0x8a /* pass through disk */
+#define ARC_FW_DISK_HOTSPARE 0xa8 /* hotspare disk */
+#define ARC_FW_DISK_UNUSED 0xc8 /* free/unused disk */
uint8_t pio_mode;
uint8_t current_udma_mode;
uint8_t udma_mode;
Home |
Main Index |
Thread Index |
Old Index