vme: change bus error handling scheme
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>
Thu, 17 Sep 2015 23:01:44 +0000 (02:01 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 4 Oct 2015 18:50:57 +0000 (19:50 +0100)
commit0b0496625715374c7d0b747268c11528e8af32a3
tree6f129e982f9f3325162afe0271414833597471e9
parent472f16f33c7d53515af83c805d4babd8a6c24a19
vme: change bus error handling scheme

The current VME bus error handler adds errors to the bridge error list.
vme_master_{read,write} then traverses that list to look for relevant
errors.

Such scheme didn't work well for accesses going through vme_master_mmap
because they would also allocate a vme_bus_error, but have no way to do
vme_clear_errors call to free that memory.

This changes the error handling process to be other way around: now
vme_master_{read,write} defines a window in VME address space that will
catch possible errors.  VME bus error interrupt only traverses these
windows and marks those that had errors in them.

Signed-off-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Cc: Igor Alekseev <igor.alekseev@itep.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/vme/bridges/vme_ca91cx42.c
drivers/vme/bridges/vme_tsi148.c
drivers/vme/vme.c
drivers/vme/vme_bridge.h