diff --git a/atasmart.c b/atasmart.c index 631a604..01d3cb2 100644 --- a/atasmart.c +++ b/atasmart.c @@ -2474,21 +2474,30 @@ goto finish; } - if ((vid == 0x152d && (pid == 0x2329 || pid == 0x2338 || pid == 0x2339))) { + 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; diff --git a/atasmart.strpool.c b/atasmart.strpool.c index c0b1ac4..be9ebd0 100644 --- a/atasmart.strpool.c +++ b/atasmart.strpool.c @@ -2600,21 +2600,30 @@ 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; diff --git a/configure b/configure index 3afd1f3..62fdd8f 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for libatasmart 0.15. +# Generated by GNU Autoconf 2.63 for libatasmart 0.16. # # Report bugs to . # @@ -745,8 +745,8 @@ # Identity of this package. PACKAGE_NAME='libatasmart' PACKAGE_TARNAME='libatasmart' -PACKAGE_VERSION='0.15' -PACKAGE_STRING='libatasmart 0.15' +PACKAGE_VERSION='0.16' +PACKAGE_STRING='libatasmart 0.16' PACKAGE_BUGREPORT='mzyvongnfzneg (at) 0pointer (dot) net' ac_unique_file="atasmart.c" @@ -1489,7 +1489,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libatasmart 0.15 to adapt to many kinds of systems. +\`configure' configures libatasmart 0.16 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1559,7 +1559,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libatasmart 0.15:";; + short | recursive ) echo "Configuration of libatasmart 0.16:";; esac cat <<\_ACEOF @@ -1669,7 +1669,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libatasmart configure 0.15 +libatasmart configure 0.16 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1683,7 +1683,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libatasmart $as_me 0.15, which was +It was created by libatasmart $as_me 0.16, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2549,7 +2549,7 @@ # Define the identity of the package. PACKAGE='libatasmart' - VERSION='0.15' + VERSION='0.16' cat >>confdefs.h <<_ACEOF @@ -2674,7 +2674,7 @@ PACKAGE_URL=http://git.0pointer.de/?p=libatasmart.git -LIBATASMART_VERSION_INFO=4:1:0 +LIBATASMART_VERSION_INFO=4:2:0 # Make sure we can run config.sub. @@ -18563,7 +18563,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libatasmart $as_me 0.15, which was +This file was extended by libatasmart $as_me 0.16, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18626,7 +18626,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -libatasmart config.status 0.15 +libatasmart config.status 0.16 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 6adf65a..aa720fe 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ AC_PREREQ(2.63) -AC_INIT([libatasmart], 0.15, [mzyvongnfzneg (at) 0pointer (dot) net]) +AC_INIT([libatasmart], 0.16, [mzyvongnfzneg (at) 0pointer (dot) net]) AC_CONFIG_SRCDIR([atasmart.c]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIR(m4) @@ -30,7 +30,7 @@ AC_SUBST(PACKAGE_URL, [http://git.0pointer.de/?p=libatasmart.git]) -AC_SUBST(LIBATASMART_VERSION_INFO, [4:1:0]) +AC_SUBST(LIBATASMART_VERSION_INFO, [4:2:0]) AC_CANONICAL_HOST