Accepting request 21604 from home:vuntz:branches:Base:System

Copy from home:vuntz:branches:Base:System/libatasmart via accept of submit request 21604 revision 4.
Request was accepted with message:
Forwarding to openSUSE:Factory

OBS-URL: https://build.opensuse.org/request/show/21604
OBS-URL: https://build.opensuse.org/package/show/Base:System/libatasmart?expand=0&rev=4
This commit is contained in:
Vincent Untz 2009-10-02 13:59:58 +00:00 committed by Git OBS Bridge
parent 6fee6f52d4
commit e978cfb458
3 changed files with 52 additions and 0 deletions

43
libatasmart-jmicron.patch Normal file
View File

@ -0,0 +1,43 @@
X-Git-Url: http://git.0pointer.de/?p=libatasmart.git;a=blobdiff_plain;f=atasmart.c;h=01d3cb2cca0817963b91f7f1c9cd72fde8b10b91;hp=b6bcb90b1662ca0a99fe89cf5c8aeb4cdbcc7e49;hb=HEAD;hpb=7e8f3350aea65ed203305c8e7e4fc1cfd4656393
diff --git a/atasmart.c b/atasmart.c
index b6bcb90..01d3cb2 100644
--- a/atasmart.c
+++ b/atasmart.c
@@ -2474,15 +2474,30 @@ static int disk_find_type(SkDisk *d, dev_t devnum) {
goto finish;
}
- if ((vid == 0x0c0b && pid == 0xb159) ||
- (vid == 0x04fc && pid == 0x0c25) ||
- (vid == 0x04fc && pid == 0x0c15))
- d->type = SK_DISK_TYPE_SUNPLUS;
- else if ((vid == 0x152d && pid == 0x2329) ||
- (vid == 0x152d && pid == 0x2336) ||
+ 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
+ *
+ * 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 == 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
d->type = SK_DISK_TYPE_ATA_PASSTHROUGH_12;

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Fri Oct 2 15:08:43 CEST 2009 - vuntz@opensuse.org
- Add libatasmart-jmicron.patch to fix issues with some bridges not
working well. See rh#515881 for details.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Sep 9 18:32:00 CEST 2009 - vuntz@opensuse.org Wed Sep 9 18:32:00 CEST 2009 - vuntz@opensuse.org

View File

@ -26,6 +26,8 @@ Summary: ATA S.M.A.R.T. Disk Health Monitoring Library
Url: http://git.0pointer.de/?p=libatasmart.git;a=summary Url: http://git.0pointer.de/?p=libatasmart.git;a=summary
Group: System/Libraries Group: System/Libraries
Source: %{name}-%{version}.tar.bz2 Source: %{name}-%{version}.tar.bz2
# PATCH-FIX-UPSTREAM libatasmart-jmicron.patch vuntz@opensuse.org -- Taken from git
Patch0: libatasmart-jmicron.patch
BuildRequires: libudev-devel BuildRequires: libudev-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -65,6 +67,7 @@ health monitoring.
%prep %prep
%setup -q %setup -q
%patch0 -p1
%build %build
%configure --disable-static %configure --disable-static