提交 85d57797 编写于 作者: D David Howells 提交者: Ingo Molnar

werror: fix pci calgary

Fix an integer comparison always false warning in the PCI Calgary 64 driver.

A u8 is being compared to something that's 512 by default, resulting in the
following warning:

arch/x86/kernel/pci-calgary_64.c:1285: warning: comparison is always false due to limited range of data type

This was introduced by patch b34e90b8.
Signed-off-by: NDavid Howells <dhowells@redhat.com>
Signed-off-by: NIngo Molnar <mingo@elte.hu>
上级 80a8c9ff
...@@ -1269,13 +1269,15 @@ static inline int __init determine_tce_table_size(u64 ram) ...@@ -1269,13 +1269,15 @@ static inline int __init determine_tce_table_size(u64 ram)
static int __init build_detail_arrays(void) static int __init build_detail_arrays(void)
{ {
unsigned long ptr; unsigned long ptr;
int i, scal_detail_size, rio_detail_size; unsigned numnodes, i;
int scal_detail_size, rio_detail_size;
if (rio_table_hdr->num_scal_dev > MAX_NUMNODES){ numnodes = rio_table_hdr->num_scal_dev;
if (numnodes > MAX_NUMNODES){
printk(KERN_WARNING printk(KERN_WARNING
"Calgary: MAX_NUMNODES too low! Defined as %d, " "Calgary: MAX_NUMNODES too low! Defined as %d, "
"but system has %d nodes.\n", "but system has %d nodes.\n",
MAX_NUMNODES, rio_table_hdr->num_scal_dev); MAX_NUMNODES, numnodes);
return -ENODEV; return -ENODEV;
} }
...@@ -1296,8 +1298,7 @@ static int __init build_detail_arrays(void) ...@@ -1296,8 +1298,7 @@ static int __init build_detail_arrays(void)
} }
ptr = ((unsigned long)rio_table_hdr) + 3; ptr = ((unsigned long)rio_table_hdr) + 3;
for (i = 0; i < rio_table_hdr->num_scal_dev; for (i = 0; i < numnodes; i++, ptr += scal_detail_size)
i++, ptr += scal_detail_size)
scal_devs[i] = (struct scal_detail *)ptr; scal_devs[i] = (struct scal_detail *)ptr;
for (i = 0; i < rio_table_hdr->num_rio_dev; for (i = 0; i < rio_table_hdr->num_rio_dev;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册