diff -Nuarp hdparm-debian/debian/95hdparm-apm hdparm-9.43/debian/95hdparm-apm
--- hdparm-debian/debian/95hdparm-apm	2015-03-31 19:31:43.000000000 +0200
+++ hdparm-9.43/debian/95hdparm-apm	2015-03-31 19:33:22.000000000 +0200
@@ -3,8 +3,9 @@
 # This script adjusts hard drive APM settings using hdparm. The hardware
 # defaults (usually hdparm -B 127) cause excessive head load/unload cycles
 # on many modern hard drives. We therefore set hdparm -B 254 while on AC
-# power. On battery we set hdparm -B 127, because the head parking is
-# very useful for shock protection.
+# power. On battery we set hdparm -B 128; this still does not guarantee
+# disk parking, but is safer than causing lots of mechanical wear on disks
+# as we seem to get currently with 127.
 #
 # Refactored from acpi-support's 90-hdparm.sh for pm-utils
 
diff -Nuarp hdparm-debian/debian/changelog hdparm-9.43/debian/changelog
diff -Nuarp hdparm-debian/debian/control hdparm-9.43/debian/control
--- hdparm-debian/debian/control	2015-03-31 19:31:43.000000000 +0200
+++ hdparm-9.43/debian/control	2015-03-31 19:33:22.000000000 +0200
@@ -1,7 +1,8 @@
 Source: hdparm
 Section: admin
 Priority: optional
-Maintainer: Stephen Gran <sgran@debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Stephen Gran <sgran@debian.org>
 Uploaders: Michael Meskes <meskes@debian.org>
 Build-Depends: cdbs (>> 0.4.37), debhelper (>= 7.3.15), dpkg-dev (>= 1.13.19)
 Standards-Version: 3.9.3
@@ -9,7 +10,7 @@ Homepage: http://sourceforge.net/project
 
 Package: hdparm
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base
+Depends: ${shlibs:Depends}, ${misc:Depends}
 Suggests: apmd
 Replaces: apmd (<= 3.0.2-1.15)
 Recommends: powermgmt-base
diff -Nuarp hdparm-debian/debian/hdparm.init hdparm-9.43/debian/hdparm.init
--- hdparm-debian/debian/hdparm.init	2015-03-31 19:31:43.000000000 +0200
+++ hdparm-9.43/debian/hdparm.init	2015-03-31 19:33:22.000000000 +0200
@@ -94,8 +94,6 @@ undo_slow_down_raid_sync()
   if [ -f /proc/sys/dev/raid/speed_limit_max ] && [ "x$raid_speed_limit_max" != "x" ]; then
     echo $raid_speed_limit_max >/proc/sys/dev/raid/speed_limit_max
   fi
-
-  rm -f /var/lock/hdparm-resync.lock
 }
 
 isOnBattery() {
@@ -148,9 +146,6 @@ WAS_RUN=0
 
 # Turn off RAID synchronisation if needed and asked for.
 if [ "$raidstat" != 'OK' ] && [ "$RAID_WORKAROUND" = "yes" ]; then
-  exec 200>/var/lock/hdparm-resync.lock
-  # Block until lock can be acquired
-  flock 200
   slow_down_raid_sync
 fi
 
diff -Nuarp hdparm-debian/debian/hdparm.udev hdparm-9.43/debian/hdparm.udev
--- hdparm-debian/debian/hdparm.udev	2015-03-31 19:31:43.000000000 +0200
+++ hdparm-9.43/debian/hdparm.udev	2015-03-31 19:33:22.000000000 +0200
@@ -1,2 +1,2 @@
-ACTION=="add", SUBSYSTEM=="block", KERNEL=="[sh]d[a-z]*", RUN+="/lib/udev/hdparm"
-
+ACTION=="add", SUBSYSTEM=="block", KERNEL=="[sh]d[a-z]", \
+	RUN+="/lib/udev/hdparm"
diff -Nuarp hdparm-debian/debian/rules hdparm-9.43/debian/rules
--- hdparm-debian/debian/rules	2015-03-31 19:31:43.000000000 +0200
+++ hdparm-9.43/debian/rules	2015-03-31 19:33:22.000000000 +0200
@@ -17,9 +17,8 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
 # 02111-1307 USA.
 
-DEB_DH_INSTALLINIT_ARGS := '--no-start'
+DEB_DH_INSTALLINIT_ARGS := --no-start --noscripts --onlyscripts
 #DEB_DH_LINK_ARGS := ../init.d/hdparm /etc/rcS.d/S07hdparm.first
-DEB_UPDATE_RCD_PARAMS := 'start 07 S . '
 DEB_FIXPERMS_EXCLUDE := 20hdparm
 DEB_DH_INSTALLUDEV_ARGS := --priority=85
 
diff -Nuarp hdparm-debian/hdparm.c hdparm-9.43/hdparm.c
--- hdparm-debian/hdparm.c	2012-11-15 23:08:51.000000000 +0100
+++ hdparm-9.43/hdparm.c	2015-03-31 19:33:22.000000000 +0200
@@ -887,6 +887,28 @@ static void get_identify_data (int fd)
 		__le16_to_cpus(&id[i]);
 }
 
+static int get_id_log_page_data (int fd, __u8 pagenr, __u8 *buf)
+{
+	struct hdio_taskfile *r;
+	int err = 0;
+
+	r = malloc(sizeof(struct hdio_taskfile) + 512);
+	if (!r) {
+		err = errno;
+		perror("malloc()");
+		return err;
+	}
+
+	init_hdio_taskfile(r, ATA_OP_READ_LOG_EXT, RW_READ, LBA48_FORCE, 0x30 + (pagenr << 8), 1, 512);
+	if (do_taskfile_cmd(fd, r, timeout_15secs)) {
+		err = errno;
+	} else {
+		memcpy(buf, r->data, 512);
+	}
+	free(r);
+	return err;
+}
+
 static void confirm_i_know_what_i_am_doing (const char *opt, const char *explanation)
 {
 	if (!i_know_what_i_am_doing) {
@@ -2175,6 +2197,26 @@ void process_dev (char *devname)
 				dump_sectors(id, 1);
 			else
 				identify((void *)id);
+
+			/* Print DEVSLP information */
+			if (id[78] & 0x0100) {
+				__u8 buf[512];
+				int deto = 0;
+				int mdat = 0;
+
+				memset(buf, 0, 512);
+				if (!get_id_log_page_data(fd, 8, buf) &&
+				    (buf[0x37] & 0x80)) {
+					mdat = buf[0x30] & 0x1f;
+					deto = buf[0x31];
+				}
+				printf("Device Sleep:\n");
+				printf("\tDEVSLP Exit Timeout (DETO): %d ms (%s)\n",
+				       deto?deto:20, deto?"drive":"default");
+
+				printf("\tMinimum DEVSLP Assertion Time (MDAT): %d ms (%s)\n",
+				       mdat?mdat:10, deto?"drive":"default");
+			}
 		}
 	}
 	if (get_lookahead) {
diff -Nuarp hdparm-debian/identify.c hdparm-9.43/identify.c
--- hdparm-debian/identify.c	2012-09-28 18:55:17.000000000 +0200
+++ hdparm-9.43/identify.c	2015-03-31 19:33:22.000000000 +0200
@@ -421,9 +421,9 @@ static const char *feat_3_str[16] = {
 	"Disable Data Transfer After Error Detection"	/* word 119 bit  0 (ref: 2014DT)*/
 };
 static const char *cap_sata0_str[16] = { 
-	"unknown 76[15]",				/* word 76 bit 15 */
-	"unknown 76[14]",				/* word 76 bit 14 */
-	"unknown 76[13]",				/* word 76 bit 13 */
+	"READ_LOG_DMA_EXT equivalent to READ_LOG_EXT",	/* word 76 bit 15 */
+	"Device automatic Partial to Slumber transitions",/* word 76 bit 14 */
+	"Host automatic Partial to Slumber transitions",/* word 76 bit 13 */
 	"NCQ priority information",			/* word 76 bit 12 */
 	"Idle-Unload when NCQ is active",		/* word 76 bit 11 */
 	"Phy event counters",				/* word 76 bit 10 */
@@ -446,7 +446,7 @@ static const char *feat_sata0_str[16] =
 	"unknown 78[11]",				/* word 78 bit 11 */
 	"unknown 78[10]",				/* word 78 bit 10 */
 	"unknown 78[9]",				/* word 78 bit  9 */
-	"unknown 78[8]",				/* word 78 bit  8 */
+	"Device Sleep (DEVSLP)",			/* word 78 bit  8 */
 	"unknown 78[7]",				/* word 78 bit  7 */
 	"Software settings preservation",		/* word 78 bit  6 */
 	"Asynchronous notification (eg. media change)",	/* word 78 bit  5 */
diff -Nuarp hdparm-debian/sgio.h hdparm-9.43/sgio.h
--- hdparm-debian/sgio.h	2012-09-28 19:25:46.000000000 +0200
+++ hdparm-9.43/sgio.h	2015-03-31 19:33:22.000000000 +0200
@@ -10,6 +10,7 @@ enum {
 	ATA_OP_READ_LONG_ONCE		= 0x23,
 	ATA_OP_READ_PIO_EXT		= 0x24,
 	ATA_OP_READ_DMA_EXT		= 0x25,
+	ATA_OP_READ_LOG_EXT		= 0x2f,
 	ATA_OP_READ_FPDMA		= 0x60,	// NCQ
 	ATA_OP_WRITE_PIO		= 0x30,
 	ATA_OP_WRITE_LONG		= 0x32,
