Projects
Eulaceura:Factory
libatasmart
_service:obs_scm:libatasmart-0.19-wd-fix.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:libatasmart-0.19-wd-fix.patch of Package libatasmart
Author: Phillip Susi <psusi@ubuntu.com> Subject: fix an incorrect IO error reading SMART status Description: The read SMART status command's return status was testing for a success/failure value that included 8 bits that are "N/A" according to the standard, and required that they be zeros. At least some drives do not fill them with zeros, so correct this by masking off the undefined bits. Index: b/atasmart.c =================================================================== --- a/atasmart.c +++ b/atasmart.c @@ -925,10 +925,10 @@ /* SAT/USB bridges truncate packets, so we only check for 4F, * not for 2C on those */ if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x00C2U)) && - cmd[4] == htons(0x4F00U)) + (cmd[4] & htons(0xFF00U)) == htons(0x4F00U)) *good = TRUE; else if ((d->type == SK_DISK_TYPE_ATA_PASSTHROUGH_12 || cmd[3] == htons(0x002CU)) && - cmd[4] == htons(0xF400U)) + (cmd[4] & htons(0xFF00U)) == htons(0xF400U)) *good = FALSE; else { errno = EIO;
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2