Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

hpsa: fix event filtering to prevent excessive rescans with old firmware

CTLR_STATE_CHANGE_EVENT and CTLR_STATE_CHANGE_EVENT_REDUNDANT_CNTRL
do not require rescans to be initiated. Current firmware filters out
these events already, but some out of date firmware doesn't, so the
driver needs to filter them out too. Without this change and with out
of date firmware you may see the driver spending a lot of time
scanning devices unnecessarily on some Smart Arrays.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Reviewed-by: Justin Lindley <justin.lindley@hp.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>

authored by

Stephen M. Cameron and committed by
Christoph Hellwig
7b2c46ee c45166be

+1 -3
+1 -3
drivers/scsi/hpsa.h
··· 229 229 #define CTLR_STATE_CHANGE_EVENT_AIO_CONFIG_CHANGE (1 << 31) 230 230 231 231 #define RESCAN_REQUIRED_EVENT_BITS \ 232 - (CTLR_STATE_CHANGE_EVENT | \ 233 - CTLR_ENCLOSURE_HOT_PLUG_EVENT | \ 232 + (CTLR_ENCLOSURE_HOT_PLUG_EVENT | \ 234 233 CTLR_STATE_CHANGE_EVENT_PHYSICAL_DRV | \ 235 234 CTLR_STATE_CHANGE_EVENT_LOGICAL_DRV | \ 236 - CTLR_STATE_CHANGE_EVENT_REDUNDANT_CNTRL | \ 237 235 CTLR_STATE_CHANGE_EVENT_AIO_ENABLED_DISABLED | \ 238 236 CTLR_STATE_CHANGE_EVENT_AIO_CONFIG_CHANGE) 239 237 spinlock_t offline_device_lock;