summaryrefslogtreecommitdiff
path: root/drivers/edac/i7300_edac.c
AgeCommit message (Collapse)AuthorFilesLines
2014-03-31i7300_edac: Fix device reference countJean Delvare1-18/+20
commit 75135da0d68419ef8a925f4c1d5f63d8046e314d upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-10i7300_edac: Fix error flag testingJean Delvare1-4/+4
commit 7e06b7a3333f5c7a0cec12aff20d39c5c87c0795 upstream. * Right-shift the values in GET_FBD_FAT_IDX and GET_FBD_NF_IDX, so that the callers get the result they expect. * Fix definition of FERR_FAT_FBD_ERR_MASK. * Call GET_FBD_NF_IDX, not GET_FBD_FAT_IDX, when operating on register FERR_NF_FBD. We were lucky they have the same definition. This fixes kernel bug #44131: https://bugzilla.kernel.org/show_bug.cgi?id=44131 Signed-off-by: Jean Delvare <jdelvare@suse.de> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> Cc: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-03-19EDAC: Make pci_device_id tables __devinitconst.Lionel Debroux1-1/+1
These const tables are currently marked __devinitdata, but Documentation/PCI/pci.txt says: "o The ID table array should be marked __devinitconst; this is done automatically if the table is declared with DEFINE_PCI_DEVICE_TABLE()." So use DEFINE_PCI_DEVICE_TABLE(x). Based on PaX and earlier work by Andi Kleen. Signed-off-by: Lionel Debroux <lionel_debroux@yahoo.fr> Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
2011-11-01i7300_edac: Fix error cleanup logicMauro Carvalho Chehab1-25/+26
The error cleanup logic was broken. Due to that, one error is generated for every error polling. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2011-05-27Merge branch 'trivial' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: gfs2: Drop __TIME__ usage isdn/diva: Drop __TIME__ usage atm: Drop __TIME__ usage dlm: Drop __TIME__ usage wan/pc300: Drop __TIME__ usage parport: Drop __TIME__ usage hdlcdrv: Drop __TIME__ usage baycom: Drop __TIME__ usage pmcraid: Drop __DATE__ usage edac: Drop __DATE__ usage rio: Drop __DATE__ usage scsi/wd33c93: Drop __TIME__ usage scsi/in2000: Drop __TIME__ usage aacraid: Drop __TIME__ usage media/cx231xx: Drop __TIME__ usage media/radio-maxiradio: Drop __TIME__ usage nozomi: Drop __TIME__ usage cyclades: Drop __TIME__ usage
2011-04-19edac: Drop __DATE__ usageMichal Marek1-1/+1
The kernel already prints its build timestamp during boot, no need to repeat it in random drivers and produce different object files each time. Cc: Doug Thompson <dougthompson@xmission.com> Cc: bluesmoke-devel@lists.sourceforge.net Cc: linux-edac@vger.kernel.org Acked-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-03-31Fix common misspellingsLucas De Marchi1-1/+1
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
2011-01-19Kill off warning: ‘inline’ is not at beginning of declarationJesper Juhl1-1/+1
Fix a bunch of warning: ‘inline’ is not at beginning of declaration messages when building a 'make allyesconfig' kernel with -Wextra. These warnings are trivial to kill, yet rather annoying when building with -Wextra. The more we can cut down on pointless crap like this the better (IMHO). A previous patch to do this for a 'allnoconfig' build has already been merged. This just takes the cleanup a little further. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-09-24i7300_edac: Properly initialize per-csrow memory sizeMauro Carvalho Chehab1-7/+10
Due to the current edac-core limits, we cannot represent a per-channel memory size, for FB-DIMM drivers. So, we need to sum-up all values for each slot, in order to properly represent the total amount of memory found by the i7300 driver. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-09-24V4L/DVB: i7300_edac: better initialize page countsMauro Carvalho Chehab1-9/+9
It is still somewhat fake, as the pages may not be on this exact order, and may even be used in mirror mode, but this is a best guess than the other random fake values. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300-edac: CodingStyle cleanupMauro Carvalho Chehab1-16/+26
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Improve commentsMauro Carvalho Chehab1-116/+104
This is basically a cleanup patch, improving the comments for each function. While here, do a few cleanups. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Cleanup: reorganize the file contentsMauro Carvalho Chehab1-56/+60
This change should do no functional change. It just rearranges the contents of the c file, in order to make easier to understand and maintain it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Properly detect channel on CE errorsMauro Carvalho Chehab1-5/+14
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: enrich FBD error info for corrected errorsMauro Carvalho Chehab1-12/+51
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: enrich FBD error info for fatal errorsMauro Carvalho Chehab1-4/+39
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: pre-allocate a buffer used to prepare err messagesMauro Carvalho Chehab1-17/+24
Instead of dynamically allocating a buffer for it where needed, just allocate it once. As we'll use the same buffer also during fatal and non-fatal errors, is is very risky to dynamically allocate it during an error. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Fix MTR x4/x8 detection logicMauro Carvalho Chehab1-2/+2
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Make the debug messages coherent with the othersMauro Carvalho Chehab1-3/+3
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Cleanup: remove get_error_info logicMauro Carvalho Chehab1-36/+6
As the error logic in this driver came from i5400 driver, it were using one function to get errors, and another to display. Let's make it simpler and avoid doing it into two steps. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Add a code to cleanup error registersMauro Carvalho Chehab1-2/+27
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Add support for reporting FBD errorsMauro Carvalho Chehab1-0/+125
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Properly detect the type of error correctionMauro Carvalho Chehab1-4/+14
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Detect if the device is on single modeMauro Carvalho Chehab1-8/+17
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Adds detection for enhanced scrub mode on x8Mauro Carvalho Chehab1-4/+17
While here, do some cleanup by adding some macros to check for device features. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Clear the error bit after readingMauro Carvalho Chehab1-0/+10
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Add error detection code for global errorsMauro Carvalho Chehab1-491/+77
There's no mention at the datasheet about how to enable global error reporting. So, I'm assuming that those errors are always enabled. Maybe I'm plain wrong about that ;) Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Better name PCI devicesMauro Carvalho Chehab1-43/+43
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: Add a FIXME note about the error correction typeMauro Carvalho Chehab1-0/+9
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: add global error registersMauro Carvalho Chehab1-82/+92
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: display info if ECC is enabled or notMauro Carvalho Chehab1-8/+20
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2010-08-30i7300_edac: start a driver for i7300 chipset (Clarksboro)Mauro Carvalho Chehab1-0/+1373
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>