summaryrefslogtreecommitdiffstats
path: root/atasmart.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-09-29 05:36:11 +0200
committerLennart Poettering <lennart@poettering.net>2009-09-29 05:36:11 +0200
commit54e98b749719d55d0be175e70dde0f3ad90787f9 (patch)
tree4f3391e5dce6df61774ed10dba5c08fb9730f5f8 /atasmart.c
parentf23de8a7660ba8867dfa402b98f7cbcc8d55511d (diff)
blacklist: disable jmicron access mode for some more jmicron bridges
This is a followup on: https://bugzilla.redhat.com/show_bug.cgi?id=515881
Diffstat (limited to 'atasmart.c')
-rw-r--r--atasmart.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/atasmart.c b/atasmart.c
index 4faa946..01d3cb2 100644
--- a/atasmart.c
+++ b/atasmart.c
@@ -2474,21 +2474,30 @@ static int disk_find_type(SkDisk *d, dev_t devnum) {
goto finish;
}
- if ((vid == 0x152d && pid == 0x2329)) {
+ if ((vid == 0x152d && pid == 0x2329) ||
+ (vid == 0x152d && pid == 0x2338) ||
+ (vid == 0x152d && pid == 0x2339))
/* Some JMicron bridges seem to choke on SMART
* commands, so let's explicitly black list
* them here.
*
- * https://bugzilla.redhat.com/show_bug.cgi?id=515881 */
+ * https://bugzilla.redhat.com/show_bug.cgi?id=515881
+ *
+ * At least some of the JMicron bridges with
+ * these vids/pids choke on the jmicron access
+ * mode. To make sure we don't break things
+ * for people we now disable this by
+ * default.*/
d->type = SK_DISK_TYPE_NONE;
- } else if ((vid == 0x0c0b && pid == 0xb159) ||
+ else if ((vid == 0x152d && pid == 0x2336))
+ /* This JMicron bridge seems to always work
+ * with SMART commands send with the jmicron
+ * access mode. */
+ d->type = SK_DISK_TYPE_JMICRON;
+ else if ((vid == 0x0c0b && pid == 0xb159) ||
(vid == 0x04fc && pid == 0x0c25) ||
(vid == 0x04fc && pid == 0x0c15))
d->type = SK_DISK_TYPE_SUNPLUS;
- else if ((vid == 0x152d && pid == 0x2336) ||
- (vid == 0x152d && pid == 0x2338) ||
- (vid == 0x152d && pid == 0x2339))
- d->type = SK_DISK_TYPE_JMICRON;
else
d->type = SK_DISK_TYPE_ATA_PASSTHROUGH_12;