tree 25f3beda46187f311597ffa83217771aeb212396
parent 0c2b6dc4fd4fa13796b319aae969a009f03222c6
parent bd85f4b37ddf2da22ccf5b29d264b2459b6722df
author Linus Torvalds <torvalds@linux-foundation.org> 1477263383 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1477263383 -0700
mergetag object bd85f4b37ddf2da22ccf5b29d264b2459b6722df
 type commit
 tag for-linus-4.9-2
 tagger Corey Minyard <cminyard@mvista.com> 1477072526 -0500
 
 A small bug fix and a new driver for acting as an IPMI device.
 
 I was on vacation during the merge window (a long vacation)
 but this is a bug fix that should go in and a new driver that shouldn't
 hurt anything.
 
 This has been in linux-next for a month or so.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlgKVpoACgkQIXnXXONXERdGBACeONBS0wOf4Rv+bxSOdeJcTwLJ
 rmoAoJ2R0BpWE1imvcC+AqXOoqg2c48k
 =P4Dz
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-4.9-2' of git://git.code.sf.net/p/openipmi/linux-ipmi

Pull IPMI updates from Corey Minyard:
 "A small bug fix and a new driver for acting as an IPMI device.

  I was on vacation during the merge window (a long vacation) but this
  is a bug fix that should go in and a new driver that shouldn't hurt
  anything.

  This has been in linux-next for a month or so"

* tag 'for-linus-4.9-2' of git://git.code.sf.net/p/openipmi/linux-ipmi:
  ipmi: fix crash on reading version from proc after unregisted bmc
  ipmi/bt-bmc: remove redundant return value check of platform_get_resource()
  ipmi/bt-bmc: add a dependency on ARCH_ASPEED
  ipmi: Fix ioremap error handling in bt-bmc
  ipmi: add an Aspeed BT IPMI BMC driver
