diff --git a/hdparm-9.15.tar.bz2 b/hdparm-9.15.tar.bz2
deleted file mode 100644
index 975f940..0000000
--- a/hdparm-9.15.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:2dd19bf933fac28fa9a15533c0231ef024bdc23d92e12b8139164276eefeb782
-size 80626
diff --git a/hdparm-9.15-nostrip.patch b/hdparm-9.16-nostrip.patch
similarity index 100%
rename from hdparm-9.15-nostrip.patch
rename to hdparm-9.16-nostrip.patch
diff --git a/hdparm-9.16.tar.bz2 b/hdparm-9.16.tar.bz2
new file mode 100644
index 0000000..fd10097
--- /dev/null
+++ b/hdparm-9.16.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cf540270b97a029253d42f3ef2fbc0e58b80c9ba80b0ded91bb9217702938811
+size 81820
diff --git a/hdparm.changes b/hdparm.changes
index 11bb4eb..ac2e37e 100644
--- a/hdparm.changes
+++ b/hdparm.changes
@@ -1,3 +1,13 @@
+-------------------------------------------------------------------
+Fri Jul 17 07:47:44 CEST 2009 - mseben@suse.cz
+
+- update to version 9.16
+ - new protocol-specific forms of --fwdownload flags
+ - added --trim-sectors flag
+ - prevent segfaults when get_identify_data() fails
+ - added full word69 features reporting for -I
+ - added BuffSize=unknown to -i
+
 -------------------------------------------------------------------
 Wed Jun 17 18:28:28 CEST 2009 - mseben@suse.cz
 
diff --git a/hdparm.spec b/hdparm.spec
index 734e2e5..6a42094 100644
--- a/hdparm.spec
+++ b/hdparm.spec
@@ -1,5 +1,5 @@
 #
-# spec file for package hdparm (Version 9.15)
+# spec file for package hdparm (Version 9.16)
 #
 # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
@@ -24,7 +24,7 @@ Group:          Hardware/Other
 PreReq:         %insserv_prereq %fillup_prereq coreutils
 Provides:       base:/sbin/hdparm
 AutoReqProv:    on
-Version:        9.15
+Version:        9.16
 Release:        1
 Summary:        A Program to Get and Set Hard Disk Parameters
 Source:         %{name}-%{version}.tar.bz2
@@ -108,308 +108,3 @@ fi
 /var/adm/fillup-templates/sysconfig.ide
 
 %changelog
-* Wed Jun 17 2009 mseben@suse.cz
-- dropped fix_standby object file from package (it breaks build
-  process bnc#513109)
-* Mon Apr 20 2009 mseben@suse.cz
-- update to version 9.15
- - fix sgio.c LBA48 bugs on big-endian machines
- - fix -m to work with libata
- - added development snapshot of --erase-sectors (256) command (do not use)
- - added development snapshot of --format-track  (256) command (do not use)
-- version 9.14
- - display DSM determinate/indeterminate TRIM support in -I output
- - tidy output of CFA features from -I
- - switch back to O_RDONLY for everything, to keep Debian/udevd happy
-* Mon Apr 20 2009 kay.sievers@novell.com
-- do not try to set DMA for libata devices - it will not do anything
-- move rules file to /lib/udev/rules.d
-* Mon Mar 23 2009 mseben@suse.cz
-- update to version 9.13
-  * fix O_DIRECT (--direct) for arch's other than x86
-  * strip leading/trailing spaces from -i model/fwrev/serno strings
-* Mon Mar 02 2009 mseben@suse.cz
-- update to version 9.12
-  * added logical/physical sector size reporting
-  * updated -I output with SATA-2.6 additions
-  * support APM level retrieval with -B flag
-  * updated -C output to match ATA8
-  * added "form factor" and "rotation" display to -I, courtesy of Martin K.Petersen.
-* Mon Feb 16 2009 mseben@suse.cz
-- update to version 9.11
-  * switch back to ATA_16 by default: required by libata for ATAPI devices
-  * add --prefer-ata12 to force use of ATA_12 when needed (some USB enclosures)
-* Fri Jan 30 2009 mseben@suse.cz
-- update to version 9.10
-  * try and improve CF card detection
-  * fix display of mwdma modes 3,4 for CF cards
-* Mon Jan 26 2009 mseben@suse.cz
-- update to version 9.9
-  * recalculate cyls when kernel returns a truncated value
-* Thu Jan 15 2009 mseben@suse.cz
-- update to version 9.8
-  * fix -N  to correctly use top 4 LBA bits on non-LBA48 drives
-- version 9.7
-  * FIX RATHER NASTY LBA48/LBA28 CONFUSION BUGS
-  * use ATA_12 by default (helps USB), ATA_16 only when needed for LBA48
-* Tue Jan 06 2009 mseben@suse.cz
-- update to version 9.6
-  * fix -N for 1.5TB drives (from Justin Maggard)
-- version 9.5
-  * byteswap ID strings for fwdownload workarounds
-  * Makefile fixes for $(STRIP) from Wolfram Sang
-- version 9.4
-  * nuked --fwdownload80 in favour of model-specific workarounds
-  * use mlock() instead of MAP_POPULATE in fwdownload.c
-  * issue SET_STREAMING command as part of -E (for newer CD/DVD drives)
-  courtesy of Thomas Orgis <thomas@orgis.org>
-  and Thomas Fritzsche" <tf@noto.de>.
-- version 9.3
-  * new --idle-immediate and --idle-unload commands
-- version 9.2
-  * fix WWN output from -I
-- version 9.1
-  * tidy up output from --dco-identify, add more info to manpage
-  * add kernel (device driver) bug detection/warning to -N output
-- version 9.0
-  * update debian directory contents
-  * add --dco-freeze, --dco-identify, --dco-restore flags
-  * fix sgio.c to be more clever around the lba28 boundary
-  * add supposedly obsolete "cache/buffer size" reporting to -I
-  * new --fwdownload flag
-  * fix error reporting from sg16().
-  * dump entire returned sense desc[] in sgio.c with --verbose
-- rewritten hdparm-*-nostrip.patch for version 9.6
-* Tue Aug 12 2008 lmichnovic@suse.cz
-- update to version 8.9
-  * Add compatibility for /sys/block/ symlinks, as seen on some
-  distro kernels.
-- version 8.8
-  * Fixed bugs in -r, -a, and -Q flags.
-- version 8.7
-  * fixes to permit building against older kernels which lack SG_IO
-  * added build script for empeg systems
-  * removed -R, -U flags: kernel support is broken and being removed
-  * fixed IO_support output
-  * prevent error messages from default flags
-  * added sysfs.c, geom.c, fibmap.c
-  * use sysfs for device start_lba/nsectors values whereever
-  possible (for >= 2TB drives)
-  * new standalone --fibmap and --fibmap-sector flags
-  * converted -Q to access the queue_depth attribute from sysfs
-  (now works for SATA!)
-  * fixed readonly issue with optical drives that some people
-  noticed
-* Wed Feb 27 2008 lmichnovic@suse.cz
-- update to version 8.6
-  * add partition safeguards to r/w sector and make_bad_sector
-* Mon Feb 25 2008 lmichnovic@suse.cz
-- update to version 8.5
-  * fix u8->u16 bug in security commands for all of 8.x series, from
-  Christian Franke
-  * try and quiet errors from flush_buffer_cache()
-  (obsoletes *silence.patch)
-* Wed Feb 20 2008 lmichnovic@suse.cz
-- *silence.patch changed after discussion with author
-* Wed Feb 20 2008 lmichnovic@suse.cz
-- update to 8.4
-  * Changes since 8.3
- - Fix --write-sector breakage from v8.3
-  * Changes since 8.2
- - fixed -i display for udma6
- - try and exit with errno on fail paths, from Ladislav Michnovic
-  obsoletes *err_return.patch
-* Tue Feb 19 2008 lmichnovic@suse.cz
-- rewritten *silence.patch, *err_return.patch
-* Tue Feb 19 2008 lmichnovic@suse.cz
-- update to version 8.2
-- Fixed sector ops (and other stuff) to work with non-libata IDE
-  driver again.
-  * Changes since 8.1
- - clear feat register for safety with SET_MAX_ADDRESS command
- - add note to manpage regarding possible -N transient failures
- - IDE_TASKFILE bug fixes and cleanups: works with old IDE driver
- - fix misreporting of dma modes on some SATA-ATAPI bridged drives
-* Mon Feb 18 2008 lmichnovic@suse.cz
-- update to version 8.1
-  * Changes since 8.0
- - fixed -U parameter bug
- - added ATA8 minor revision info to -I, courtesy of chrfranke
- - added WorldWideNumber to -I, courtesy of Raksac
-  * Changes since 7.7
- - added --make-bad-sector to deliberately create a media error
- - added --write-sector (aka. --repair-sector) to repair a media
-  error
- - added --read-sector to test for a media error
- - Makefile dependency tweaks
- - added -N (get/set max address/HPA) flag
- - fixed LBAsects output from -i to use LBA48 values when
-  available
- - fixed alternate opcode for SLEEPNOW
- - lots of changes/fixes to sgio.c to support more commands
- - add detection of buggy Sandisk 16MB CF card
- - fixed tf_to_lba() bug, courtesy of Jakub Bogusz
-* Fri Nov 30 2007 ro@suse.de
-- added sd* to udev rule (#340039)
-* Fri Aug 10 2007 ro@suse.de
-- update to 7.7
-  - fixed bug whereby old data was shown after settings changed (eg. with -W0)
-  - removed old notes about a "correction factor" from man page -tT descriptions
-  - retry open with O_RDONLY if O_RDWR fails with errno==EROFS
-* Wed Jun 20 2007 ro@suse.de
-- update to 7.6
-  - added -F flag to flush on-drive write cache buffer
-  - replaced use of shm* functions with of mmap()/mlock()
-  - removed gcc -Wextra flag --> unsupported on Debian Sarge
-  - re-allow use of --security-freeze in combination with other flags
-* Fri Jun 08 2007 ro@suse.de
-- update to 7.5
-  - beef up warnings for -s1 flag, as people seem to be ignoring them
-* Fri Jun 01 2007 ro@suse.de
-- update to 7.4
-  - ignore ENOTTY response from DRIVE_CMD(NULL)
-  - decode CFA advanced timing information
-* Thu May 24 2007 schwab@suse.de
-- fix_standby is x86-only.
-* Wed May 16 2007 ro@suse.de
-- fix lint problems
-  - install contrib scripts to /usr/lib/hdparm
-  - mark udev file as config
-  - fix permissions for fillup-template
-* Tue May 01 2007 schwab@suse.de
-- Don't strip binaries.
-* Mon Apr 30 2007 ro@suse.de
-- update to 7.3
-  - fixed spelling of --drq-hsm-error in -h output
-  - fixed SG_IO CDB[2] bits for better SAT compliance
-  - fixed version number (v7.2 has "7.1" as version, doh!)
-  - added #ifdef around use of BLKGETSIZE64
-  - manpage updated
-* Sun Apr 29 2007 ro@suse.de
-- update to 7.2
-  - tweak -C
-  - added more debug info from --verbose
-  - added --drq-hsm-error to test libata EH (VERY DANGEROUS, do not use)
-  - fixed breakage when used with old IDE driver
-* Sun Apr 29 2007 ro@suse.de
-- update to 7.1
-  - big-endian fixes for -I, --Istdin, --Istdout
-  - cody tidying in sgio.c
-  - updated help/manpage for -v
-  - marked -s1 as (DANGEROUS)
-- hdparm-7.0
-  - new command-line parser
-  - allow any chars (except 0x00) in security passwords
-  - fixed -s manpage format error
-  - updated -W manpage description
-  - major internal rework in hdparm.c
-  - added SET_FEATURES subcommand 0x07 to the -s0 sequence
-  (the kernel will eventually have to do this automatically)
-  - fixed duplicate display of udma modes 3,4,5 with -i
-  - added Timed-Command-Completion (TLC) data for -I
-  - added support for SG_IO (SAT) ATA_16 command transport
-  - ignore case for longargs (eg. --istdout or --Istdout)
-  - remove dependencies on <linux/hdreg.h>
-  - added query wcache (-W)
-  - enhanced query acoustic (-M)
-  - added kernel_patches directory with patches for ATAPI support
-- disable acoustic patch (surrounding code changed)
-* Sat Oct 28 2006 aj@suse.de
-- Update to version 6.9, changes since 6.6 are:
-  * added -s flag to control power-up in standby
-  * make --Istdin more robust
-  * added -I recognition of SMART Command Transport (SCT)
-  * fix X2 over-reporting of -T results
-  * add udma 3/4/5 modes to the -i results
-  * improve parsing/operation of --Istdin function
-  * don't default to "-v" when only new "--" longopts are used.
-  * calculate integrity word if not correct
-  * remove used code/parameter from identify()
-  * fix "(null)" strings from the "Drive conforms to" line of -I
-  * tidied up usage of prefix vars in Makefile
-  * fix bug in -C implementation
-  * new -H flag for (Hitachi) drive temperature
-* Mon Jun 12 2006 ro@suse.de
-- update to version 6.6
-  - manpage updates / corrections.
-  - fixed bug in -C code.
-  - major updates to bring -I information up to current specs.
-* Mon May 22 2006 schwab@suse.de
-- Don't strip binaries.
-* Wed Jan 25 2006 mls@suse.de
-- converted neededforbuild to BuildRequires
-* Wed Nov 30 2005 ro@suse.de
-- moved udev helper script to /lib/udev
-* Tue Oct 25 2005 ro@suse.de
-- update to version 6.3
-* Fri Oct 07 2005 ro@suse.de
-- added udev rule 56-idedma.rules
-- moved sysconfig/ide from aaa_base to this package
-  (and all the legacy postinstall code with it)
-* Mon Apr 18 2005 ro@suse.de
-- update to 6.1
-* Tue Mar 08 2005 ro@suse.de
-- use HDIO_SET_ACOUSTIC
-* Fri Feb 11 2005 ro@suse.de
-- update to 5.9
-* Wed Feb 02 2005 ro@suse.de
-- fix set acoustic (#48595)
-* Fri Nov 05 2004 ro@suse.de
-- update to 5.8
-- remove-dup-swap.patch has been merged upstream
-* Thu Oct 21 2004 ro@suse.de
-- silence errors for BLKFLSBUF (#45057)
-* Tue Oct 12 2004 ro@suse.de
-- added contrib files to doc (#47105)
-* Sun Sep 05 2004 ro@suse.de
-- update to 5.7
-- removed obsolete lvm patch
-- recreated err_return patch again
-* Tue Aug 17 2004 ro@suse.de
-- update to 5.6
-- recreated err_return patch
-- readahead.patch is obsolete
-* Wed May 12 2004 meissner@suse.de
-- Removed duplicated byte swapping on big endian, it
-  is no longer needed. (SUSE#39628/LTC#7961)
-* Tue Feb 03 2004 ro@suse.de
-- update to hdparm-5.5
-- added limited support for SCSI(-controlled) CDROM/optical drives
-* Tue Jan 27 2004 ro@suse.de
-- rename variable readahead (glibc using this as a function)
-* Thu Nov 06 2003 ro@suse.de
-- added README.acoustic (#32917)
-* Mon Oct 20 2003 ro@suse.de
-- use defattr
-- don't build as root
-* Sun Jul 06 2003 ro@suse.de
-- update to 5.4 with new timing code
-* Tue Jun 03 2003 olh@suse.de
-- add hdparm-5.3-dump_identity-endian.dif
-  do not swap the id->cur_capacity0/1 values in userland
-* Mon May 12 2003 ro@suse.de
-- define LVM_BLK_MAJOR if not defined
-* Wed Mar 26 2003 ro@suse.de
-- fix timing test for large disks (#25861)
-* Wed Mar 12 2003 ro@suse.de
-- added patch to return an error for most failed ioctls
-  (not all, because cdroms always fail for e.g. HDIO_GETGEO)
-* Wed Nov 27 2002 ro@suse.de
-- update (v5.3 endian fixes, other stuff)
-* Thu Aug 01 2002 ro@suse.de
-- update to 5.2
-  . updated -Q to take queue depth as parameter value
-  . formatting fixes for -I from various people
-  . updated -I to most recent ATA6 draft standard
-  . various compile fixes
-* Thu Apr 25 2002 ro@suse.de
-- added patch from axboe to make TCQ work
-* Thu Apr 25 2002 ro@suse.de
-- up to vanilla hdparm-4.7
-- use buildroot
-* Tue Sep 04 2001 ro@suse.de
-- update to 4.1 (mostly merged changes from andre's patch)
-* Thu Mar 22 2001 ro@suse.de
-- added split-aliases as provides
-* Thu Mar 15 2001 ro@suse.de
-- split from base