Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 226705 - Constantly must reset IDE CD/DVD drives with ICH8&JMicron 361 (GA-965P-S3)
Summary: Constantly must reset IDE CD/DVD drives with ICH8&JMicron 361 (GA-965P-S3)
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 6
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-02-01 01:16 UTC by Stewart Adam
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-02-11 20:10:40 UTC


Attachments (Terms of Use)

Description Stewart Adam 2007-02-01 01:16:38 UTC
Description of problem:
I recently bought a new computer and I now have a Gigabyte GA-965P-S3
motherboard. I am using the same IDE CD and DVD drives as my old computer did,
and this only started occurring with then new mobo. The drives randomly stop
responding, checking the logs shows:
---
hdf: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hdf: drive not ready for command
---
Over and over and over. I'm not sure if it helps, but on boot ever since 2.6.19
I get this message two times: "JMB361.c: dma_base is invalid"

Version-Release number of selected component (if applicable):
kernel-2.6.19-1.2895.fc6

How reproducible:
Always

Steps to Reproduce:
1. Work normally
2. Use gnome-system-monitor until regular writes are noticed (from writing to
/var/log/messages - If the reset isn't caught, it gets to 15MB pretty fast)
2. Check logs for messages
  
Actual results:
The drives does not respond and must be reset with "hdparm -w /dev/hdx'

Expected results:
The drives don't get lock up

Additional info:
relevant lspci information:
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE
Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE
Controller (rev 02)
03:00.1 IDE interface: JMicron Technologies, Inc. JMicron 20360/20363 AHCI
Controller (rev 02)

Comment 1 Chuck Ebbert 2007-02-01 14:45:52 UTC
The latest change (in 2.6.20-rc) to the jmicron IDE driver might fix this.
I got this from my hg repository:

# HG changeset patch
# User ethanhsiao@jmicron.com <ethanhsiao@jmicron.com>
# Date 1170201695 28800
# Node ID e9a1562c6e72a682e04f0ba458fd9235aacbb524
# Parent bf6e8e37e9f0e3f9b84df70269a21df7bf34076a
[PATCH] jmicron: 40/80pin primary detection

jmicron module detects all JMB36x as JMB361 and PATA0 has wrong pin status
of XICBLID.

Cc: Jeff Garzik <jeff@garzik.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

committer: Linus Torvalds <torvalds@woody.linux-foundation.org> 1170201695 -0800

--- a/drivers/ide/pci/jmicron.c	Tue Jan 30 16:01:35 2007 -0800
+++ b/drivers/ide/pci/jmicron.c	Tue Jan 30 16:01:35 2007 -0800
@@ -86,8 +86,8 @@ static int __devinit ata66_jmicron(ide_h
 	{
 	case PORT_PATA0:
 		if (control & (1 << 3))	/* 40/80 pin primary */
-			return 1;
-		return 0;
+			return 0;
+		return 1;
 	case PORT_PATA1:
 		if (control5 & (1 << 19))	/* 40/80 pin secondary */
 			return 0;
@@ -241,11 +241,11 @@ static int __devinit jmicron_init_one(st
 }
 
 static struct pci_device_id jmicron_pci_tbl[] = {
-	{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361), 0},
-	{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363), 1},
-	{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365), 2},
-	{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366), 3},
-	{ PCI_DEVICE(PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368), 4},
+	{ PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, PCI_ANY_ID, PCI_ANY_ID,
0, 0, 0},
+	{ PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, PCI_ANY_ID, PCI_ANY_ID,
0, 0, 1},
+	{ PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, PCI_ANY_ID, PCI_ANY_ID,
0, 0, 2},
+	{ PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, PCI_ANY_ID, PCI_ANY_ID,
0, 0, 3},
+	{ PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368, PCI_ANY_ID, PCI_ANY_ID,
0, 0, 4},
 	{ 0, },
 };
 

Comment 2 Stewart Adam 2007-02-11 20:10:40 UTC
I've been using the 2.6.20 kernel from development, it's working perfectly.


Note You need to log in before you can comment on or make changes to this bug.