Bug 226705 - Constantly must reset IDE CD/DVD drives with ICH8&JMicron 361 (GA-965P-S3)
Constantly must reset IDE CD/DVD drives with ICH8&JMicron 361 (GA-965P-S3)
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
6
All Linux
medium Severity medium
: ---
: ---
Assigned To: Kernel Maintainer List
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-01-31 20:16 EST by Stewart Adam
Modified: 2007-11-30 17:11 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-02-11 15:10:40 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Stewart Adam 2007-01-31 20:16:38 EST
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 09:45:52 EST
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 15:10:40 EST
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.