diff --git a/hardware/disk/hdparm/pspec.xml b/hardware/disk/hdparm/pspec.xml
index 188387fd3f..5067aeac59 100644
--- a/hardware/disk/hdparm/pspec.xml
+++ b/hardware/disk/hdparm/pspec.xml
@@ -12,7 +12,7 @@
app:console
Utility to change hard drive performance parameters
hdparm has some useful utilities that allows you to get/set hard disk parameters for Linux IDE drives in runtime.
- https://sourceforge.net/projects/hdparm/files/hdparm/hdparm-9.54.tar.gz
+ https://sourceforge.net/projects/hdparm/files/hdparm/hdparm-9.58.tar.gz
@@ -29,6 +29,13 @@
+
+ 2020-02-01
+ 9.58
+ Version bump.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
2018-08-13
9.54
diff --git a/hardware/disk/libatasmart/files/libatasmart-0.19-wd-fix.patch b/hardware/disk/libatasmart/files/libatasmart-0.19-wd-fix.patch
new file mode 100644
index 0000000000..90062b84a1
--- /dev/null
+++ b/hardware/disk/libatasmart/files/libatasmart-0.19-wd-fix.patch
@@ -0,0 +1,26 @@
+Author: Phillip Susi
+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;
diff --git a/hardware/disk/libatasmart/pspec.xml b/hardware/disk/libatasmart/pspec.xml
index 2080100598..3eef28fdfa 100644
--- a/hardware/disk/libatasmart/pspec.xml
+++ b/hardware/disk/libatasmart/pspec.xml
@@ -16,6 +16,7 @@
http://0pointer.de/public/libatasmart-0.19.tar.xz
libatasmart-uninitialized-var.patch
+ libatasmart-0.19-wd-fix.patch
eudev-devel
@@ -52,6 +53,13 @@
+
+ 2020-02-01
+ 0.19
+ Rebuild New T.
+ Mustafa Cinasal
+ muscnsl@gmail.com
+
2018-08-13
0.19