summaryrefslogtreecommitdiff
path: root/lib/debug_locks.c
diff options
context:
space:
mode:
authorJean Delvare <jdelvare@suse.de>2014-02-25 12:43:13 +0400
committerBorislav Petkov <bp@suse.de>2014-02-25 12:43:13 +0400
commit75135da0d68419ef8a925f4c1d5f63d8046e314d (patch)
treedb9f21d3b0131bcd7c23c510852ad4143a44f1a4 /lib/debug_locks.c
parentc0f5eeed0f4cef4f05b74883a7160e7edde58b6a (diff)
downloadlinux-75135da0d68419ef8a925f4c1d5f63d8046e314d.tar.xz
i7300_edac: Fix device reference count
pci_get_device() decrements the reference count of "from" (last argument) so when we break off the loop successfully we have only one device reference - and we don't know which device we have. If we want a reference to each device, we must take them explicitly and let the pci_get_device() walk complete to avoid duplicate references. This is serious, as over-putting device references will cause the device to eventually disappear. Without this fix, the kernel crashes after a few insmod/rmmod cycles. Tested on an Intel S7000FC4UR system with a 7300 chipset. Signed-off-by: Jean Delvare <jdelvare@suse.de> Link: http://lkml.kernel.org/r/20140224111656.09bbb7ed@endymion.delvare Cc: Mauro Carvalho Chehab <m.chehab@samsung.com> Cc: Doug Thompson <dougthompson@xmission.com> Cc: stable@vger.kernel.org Signed-off-by: Borislav Petkov <bp@suse.de>
Diffstat (limited to 'lib/debug_locks.c')
0 files changed, 0 insertions, 0 deletions