From: Stephen M. Cameron Date: Fri, 22 Oct 2010 19:21:17 +0000 (-0500) Subject: cciss: limit commands allocated on reset_devices X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=186fb9cf6a1154bc9b071adfd72fcf256285eb26;p=deliverable%2Flinux.git cciss: limit commands allocated on reset_devices This is to conserve memory in a memory-limited kdump scenario Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe --- diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 2e547bddc5a7..9e761b994b4c 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -4079,6 +4079,11 @@ static int __devinit cciss_find_cfgtables(ctlr_info_t *h) static void __devinit cciss_get_max_perf_mode_cmds(struct ctlr_info *h) { h->max_commands = readl(&(h->cfgtable->MaxPerformantModeCommands)); + + /* Limit commands in memory limited kdump scenario. */ + if (reset_devices && h->max_commands > 32) + h->max_commands = 32; + if (h->max_commands < 16) { dev_warn(&h->pdev->dev, "Controller reports " "max supported commands of %d, an obvious lie. "