[SCSI] fix SLUB WARN_ON
authorJames Bottomley <James.Bottomley@HansenPartnership.com>
Mon, 21 Apr 2008 15:57:20 +0000 (10:57 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Sun, 27 Apr 2008 17:19:54 +0000 (12:19 -0500)
commit542bd1377a963070bc4a03ff7d2690ddf3920596
tree81c70ca891f8a6c5ef84df211fd92ef0c86393d1
parent582fb6c03a0e89d05e4efa8a3e4bd09d0942dadc
[SCSI] fix SLUB WARN_ON

We're getting a WARN_ON from SLUB indicating that we're trying to free
caches with in-use objects.  The root cause is a new dependency in the
command/sense free on unchecked_isa_dma.  The WARN_ON is caused by
drivers which change this in their setup after the command/sense cache
is allocated.

The fix is to move the allocation of this cache into scsi_add_host()
so things like gdth have an opportunity to modify it between alloc and
add (but *not* after).

The true fix would be to move unchecked_isa_dma into the template and
out of the host, so it because a truly read only variable.

Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/hosts.c