From patchwork Mon Aug 1 20:03:00 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Heider X-Patchwork-Id: 107805 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 4A3F2100E77 for ; Tue, 2 Aug 2011 06:05:34 +1000 (EST) Received: from mail-fx0-f51.google.com (mail-fx0-f51.google.com [209.85.161.51]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by ozlabs.org (Postfix) with ESMTPS id 75F25B7428; Tue, 2 Aug 2011 06:03:37 +1000 (EST) Received: by mail-fx0-f51.google.com with SMTP id 10so5252146fxh.38 for ; Mon, 01 Aug 2011 13:03:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=ihq5RbTkg0GsTAcFksCCNEWwUfaxnQwSetC+arJa8sU=; b=F8J7T+yT5K6zbPTM52jd7XMxiirSz4jxK6nBZv4UOC1cUQso93kM5I6lURmk1QDKGv Dn67eQm8FZiBmZuKZsXjDxnyV2qDNkMu+Pt/ubEfYHBqBjZu1lPndBy0QhVpZLJgy92p KlyK5+XWbgd0689IqDOSK0I7AT88pTOgXIAdk= Received: by 10.204.134.76 with SMTP id i12mr1439078bkt.79.1312229016782; Mon, 01 Aug 2011 13:03:36 -0700 (PDT) Received: from localhost.localdomain (f055205119.adsl.alicedsl.de [78.55.205.119]) by mx.google.com with ESMTPS id sz1sm1403030bkb.25.2011.08.01.13.03.35 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 01 Aug 2011 13:03:36 -0700 (PDT) From: Andre Heider To: Geoff Levand Subject: [PATCH 09/15] ps3: Limit the number of regions per storage device Date: Mon, 1 Aug 2011 22:03:00 +0200 Message-Id: <1312228986-32307-10-git-send-email-a.heider@gmail.com> X-Mailer: git-send-email 1.7.5.4 In-Reply-To: <1312228986-32307-1-git-send-email-a.heider@gmail.com> References: <1312228986-32307-1-git-send-email-a.heider@gmail.com> Cc: cbe-oss-dev@lists.ozlabs.org, Hector Martin , linuxppc-dev@lists.ozlabs.org X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org There can be only 8 regions, add a sanity check Signed-off-by: Andre Heider --- arch/powerpc/include/asm/ps3stor.h | 1 + arch/powerpc/platforms/ps3/device-init.c | 8 ++++++++ 2 files changed, 9 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/include/asm/ps3stor.h b/arch/powerpc/include/asm/ps3stor.h index 6fcaf71..d51e53c 100644 --- a/arch/powerpc/include/asm/ps3stor.h +++ b/arch/powerpc/include/asm/ps3stor.h @@ -25,6 +25,7 @@ #include +#define PS3_STORAGE_MAX_REGIONS (8) struct ps3_storage_region { unsigned int id; diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c index 6c4b583..830d741 100644 --- a/arch/powerpc/platforms/ps3/device-init.c +++ b/arch/powerpc/platforms/ps3/device-init.c @@ -349,6 +349,14 @@ static int ps3_setup_storage_dev(const struct ps3_repository_device *repo, return -ENODEV; } + if (num_regions > PS3_STORAGE_MAX_REGIONS) { + pr_warning("%s:%u: device %u:%u reported %u regions, " + "limiting to %u\n", __func__, __LINE__, + num_regions, repo->bus_index, repo->dev_index, + PS3_STORAGE_MAX_REGIONS); + num_regions = PS3_STORAGE_MAX_REGIONS; + } + pr_debug("%s:%u: (%u:%u:%u): port %llu blk_size %llu num_blocks %llu " "num_regions %u\n", __func__, __LINE__, repo->bus_index, repo->dev_index, repo->dev_type, port, blk_size, num_blocks,