diff -urN udisks-2.1.2.orig/src/udiskslinuxdevice.c udisks2-2.1.2/src/udiskslinuxdevice.c --- udisks-2.1.2.orig/src/udiskslinuxdevice.c 2012-11-23 06:43:55.000000000 +0100 +++ udisks2-2.1.2/src/udiskslinuxdevice.c 2014-01-19 01:53:30.000000000 +0100 @@ -199,6 +199,7 @@ { /* ATA8: 7.16 IDENTIFY DEVICE - ECh, PIO Data-In */ input.command = 0xec; + input.count = 1; output.buffer = g_new0 (guchar, 512); output.buffer_size = 512; if (!udisks_ata_send_command_sync (fd, @@ -221,6 +222,7 @@ { /* ATA8: 7.17 IDENTIFY PACKET DEVICE - A1h, PIO Data-In */ input.command = 0xa1; + input.count = 1; output.buffer = g_new0 (guchar, 512); output.buffer_size = 512; if (!udisks_ata_send_command_sync (fd, diff -urN udisks-2.1.2.orig/src/udiskslinuxdriveata.c udisks2-2.1.2/src/udiskslinuxdriveata.c --- udisks-2.1.2.orig/src/udiskslinuxdriveata.c 2013-01-08 13:07:23.000000000 +0100 +++ udisks2-2.1.2/src/udiskslinuxdriveata.c 2014-01-19 01:53:30.000000000 +0100 @@ -1943,7 +1943,7 @@ /* First get the IDENTIFY data directly from the drive, for sanity checks */ { /* ATA8: 7.16 IDENTIFY DEVICE - ECh, PIO Data-In */ - UDisksAtaCommandInput input = {.command = 0xec}; + UDisksAtaCommandInput input = {.command = 0xec, .count = 1}; UDisksAtaCommandOutput output = {.buffer = identify.buf, .buffer_size = sizeof (identify.buf)}; if (!udisks_ata_send_command_sync (fd, -1,