On 5/2 Dan Carpenter pointed out some sloppy u64 <--> pointer casting we were doing in visorhba, but this turned out to be the tip of an iceberg. Our handling of scsi task mgmt completions turned out to be buggy. This patchset switches visorhba to use idr_alloc() / idr_find() so that we can cleanly pass handles back-and-forth from/to the IO partition instead of raw pointers. This patchset simplifies and enhances the visorhba debugfs interface, and deletes a global array made no-longer-necessary by the cleanup. David Binder (4): staging: unisys: visornic: simplify visornic if statements staging: unisys: visornic: cleanup error handling staging: unisys: visorhba: return 0 literal staging: unisys: visornic: check for error instead of success Tim Sell (5): staging: unisys: visorhba: delete processing of vdiskmgmt commands staging: unisys: visorhba: correct scsi task mgmt completion handling staging: unisys: visorhba: remove unused (and broken) logic staging: unisys: visorhba: simplify and enhance debugfs interface staging: unisys: visorhba: visorhbas_open[] no longer used, so deleted drivers/staging/unisys/visorhba/visorhba_main.c | 384 +++++++++++------------- drivers/staging/unisys/visornic/visornic_main.c | 53 ++-- 2 files changed, 209 insertions(+), 228 deletions(-) -- 1.9.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel