Adapted from the following patch (path and actual line number changes): From daa9cf546ce7265645ced9592dd54c6b2fc04302 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Thu, 5 Jul 2012 16:53:08 +0200 Subject: [PATCH] udev: ata_id - fixup all 8 not only 6 bytes of the fw_rev string The last two digits are in the wrong order: $ hdparm -I /dev/sda | grep Revision 4PC10362 $ /lib/udev/ata_id -x /dev/sda | grep REVISION 4PC10326 diff -Nur udev-182.orig/src/ata_id/ata_id.c udev-182/src/ata_id/ata_id.c --- udev-182.orig/src/ata_id/ata_id.c 2012-03-13 19:00:51.220734316 -0500 +++ udev-182/src/ata_id/ata_id.c 2012-07-14 19:48:34.224478831 -0500 @@ -511,7 +511,7 @@ * use and copy it into the hd_driveid struct for convenience */ disk_identify_fixup_string (identify, 10, 20); /* serial */ - disk_identify_fixup_string (identify, 23, 6); /* fwrev */ + disk_identify_fixup_string (identify, 23, 8); /* fwrev */ disk_identify_fixup_string (identify, 27, 40); /* model */ disk_identify_fixup_uint16 (identify, 0); /* configuration */ disk_identify_fixup_uint16 (identify, 75); /* queue depth */