Re: [PATCH] Check return code from pdc20621_i2c_read()
On 08/03/2015 06:42 PM, Sergei Shtylyov wrote: Please use pr_err() instead. And "0x%d" makes no sense at all, please use "%#x" instead. Yeah, not sure what I was drinking before writing this 0x%d thing... Regarding the pr_err() - it is not used at all in this file, and printk() is used instead. Didn't notice before: the patch subject should start with the driver name and a colon, "sats_sx4: ". --Tomer MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
On 08/02/2015 08:55 PM, Tomer Barletz wrote: Please use pr_err() instead. And "0x%d" makes no sense at all, please use "%#x" instead. Yeah, not sure what I was drinking before writing this 0x%d thing... Regarding the pr_err() - it is not used at all in this file, and printk() is used instead. The problem is these printk() calls cause complaints from scripts/checkpatch.pl. Wouldn't it be better to leave it with printk for this change, then have another change that replaces printk()s with pr_err()s? Probably yes... --Tomer MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
Hello. On 08/03/2015 09:06 AM, Tomer Barletz wrote: The variable spd0 might be used uninitialized when pdc20621_i2c_read() fails. This also generates a compilation warning with gcc 5.1. Signed-off-by: Tomer Barletz --- drivers/ata/sata_sx4.c | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c index 3a18a8a..070b272 100644 --- a/drivers/ata/sata_sx4.c +++ b/drivers/ata/sata_sx4.c @@ -1238,8 +1238,11 @@ static unsigned int pdc20621_prog_dimm_global(struct ata_host *host) readl(mmio + PDC_SDRAM_CONTROL); /* Turn on for ECC */ - pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, - PDC_DIMM_SPD_TYPE, ); + if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, + PDC_DIMM_SPD_TYPE, )) { + printk(KERN_ERR "Failed in i2c read: device=%#x, subaddr=%#x\n", PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); + return 1; + } if (spd0 == 0x02) { data |= (0x01 << 16); writel(data, mmio + PDC_SDRAM_CONTROL); @@ -1380,8 +1383,11 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host) /* ECC initiliazation. */ - pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, - PDC_DIMM_SPD_TYPE, ); + if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, + PDC_DIMM_SPD_TYPE, )) { + printk(KERN_ERR "Failed in i2c read: device=%#x, subaddr=%#x\n", PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); + return 1; + } if (spd0 == 0x02) { void *buf; VPRINTK("Start ECC initialization\n"); $ scripts/checkpatch.pl ~/patches/Check-return-code-from-pdc20621_i2c_read.patch ERROR: code indent should use tabs where possible #23: FILE: drivers/ata/sata_sx4.c:1242: +^I PDC_DIMM_SPD_TYPE, )) {$ WARNING: line over 80 characters #24: FILE: drivers/ata/sata_sx4.c:1243: + printk(KERN_ERR "Failed in i2c read: device=%#x, subaddr=%#x\n", PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... #24: FILE: drivers/ata/sata_sx4.c:1243: + printk(KERN_ERR "Failed in i2c read: device=%#x, subaddr=%#x\n", PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); ERROR: code indent should use tabs where possible #37: FILE: drivers/ata/sata_sx4.c:1387: +^I PDC_DIMM_SPD_TYPE, )) {$ WARNING: line over 80 characters #38: FILE: drivers/ata/sata_sx4.c:1388: + printk(KERN_ERR "Failed in i2c read: device=%#x, subaddr=%#x\n", PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... #38: FILE: drivers/ata/sata_sx4.c:1388: + printk(KERN_ERR "Failed in i2c read: device=%#x, subaddr=%#x\n", PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); total: 2 errors, 4 warnings, 26 lines checked NOTE: Whitespace errors detected. You may wish to use scripts/cleanpatch or scripts/cleanfile /home/headless/patches/Check-return-code-from-pdc20621_i2c_read.patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
Hello. On 08/03/2015 09:06 AM, Tomer Barletz wrote: The variable spd0 might be used uninitialized when pdc20621_i2c_read() fails. This also generates a compilation warning with gcc 5.1. Signed-off-by: Tomer Barletz barl...@gmail.com --- drivers/ata/sata_sx4.c | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c index 3a18a8a..070b272 100644 --- a/drivers/ata/sata_sx4.c +++ b/drivers/ata/sata_sx4.c @@ -1238,8 +1238,11 @@ static unsigned int pdc20621_prog_dimm_global(struct ata_host *host) readl(mmio + PDC_SDRAM_CONTROL); /* Turn on for ECC */ - pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, - PDC_DIMM_SPD_TYPE, spd0); + if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, + PDC_DIMM_SPD_TYPE, spd0)) { + printk(KERN_ERR Failed in i2c read: device=%#x, subaddr=%#x\n, PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); + return 1; + } if (spd0 == 0x02) { data |= (0x01 16); writel(data, mmio + PDC_SDRAM_CONTROL); @@ -1380,8 +1383,11 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host) /* ECC initiliazation. */ - pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, - PDC_DIMM_SPD_TYPE, spd0); + if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, + PDC_DIMM_SPD_TYPE, spd0)) { + printk(KERN_ERR Failed in i2c read: device=%#x, subaddr=%#x\n, PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); + return 1; + } if (spd0 == 0x02) { void *buf; VPRINTK(Start ECC initialization\n); $ scripts/checkpatch.pl ~/patches/Check-return-code-from-pdc20621_i2c_read.patch ERROR: code indent should use tabs where possible #23: FILE: drivers/ata/sata_sx4.c:1242: +^I PDC_DIMM_SPD_TYPE, spd0)) {$ WARNING: line over 80 characters #24: FILE: drivers/ata/sata_sx4.c:1243: + printk(KERN_ERR Failed in i2c read: device=%#x, subaddr=%#x\n, PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... #24: FILE: drivers/ata/sata_sx4.c:1243: + printk(KERN_ERR Failed in i2c read: device=%#x, subaddr=%#x\n, PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); ERROR: code indent should use tabs where possible #37: FILE: drivers/ata/sata_sx4.c:1387: +^I PDC_DIMM_SPD_TYPE, spd0)) {$ WARNING: line over 80 characters #38: FILE: drivers/ata/sata_sx4.c:1388: + printk(KERN_ERR Failed in i2c read: device=%#x, subaddr=%#x\n, PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... #38: FILE: drivers/ata/sata_sx4.c:1388: + printk(KERN_ERR Failed in i2c read: device=%#x, subaddr=%#x\n, PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); total: 2 errors, 4 warnings, 26 lines checked NOTE: Whitespace errors detected. You may wish to use scripts/cleanpatch or scripts/cleanfile /home/headless/patches/Check-return-code-from-pdc20621_i2c_read.patch has style problems, please review. NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. MBR, Sergei -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
On 08/02/2015 08:55 PM, Tomer Barletz wrote: Please use pr_err() instead. And 0x%d makes no sense at all, please use %#x instead. Yeah, not sure what I was drinking before writing this 0x%d thing... Regarding the pr_err() - it is not used at all in this file, and printk() is used instead. The problem is these printk() calls cause complaints from scripts/checkpatch.pl. Wouldn't it be better to leave it with printk for this change, then have another change that replaces printk()s with pr_err()s? Probably yes... --Tomer MBR, Sergei -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
On 08/03/2015 06:42 PM, Sergei Shtylyov wrote: Please use pr_err() instead. And 0x%d makes no sense at all, please use %#x instead. Yeah, not sure what I was drinking before writing this 0x%d thing... Regarding the pr_err() - it is not used at all in this file, and printk() is used instead. Didn't notice before: the patch subject should start with the driver name and a colon, sats_sx4: . --Tomer MBR, Sergei -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
On Sun, 2015-08-02 at 10:55 -0700, Tomer Barletz wrote: > On Sun, Aug 2, 2015 at 4:09 AM, Sergei Shtylyov > wrote: > > >Please use pr_err() instead. And "0x%d" makes no sense at all, > > please use "%#x" instead. > > > > Yeah, not sure what I was drinking before writing this 0x%d thing... btw: you and a few others ([dui]: debugging under the influence?): $ git grep -n -E "0x[\*\d\.]*%[dui]" drivers/block/DAC960.c:2957:DAC960_Error("IO port 0x%d busy for Controller at\n", drivers/block/DAC960.c:2993:DAC960_Error("IO port 0x%d busy for Controller at\n", drivers/block/cciss.c:3857: dev_dbg(>pdev->dev, " Max outstanding commands = 0x%d\n", drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:523:mfc_debug(2, "stream buf addr: 0x%08lx, size: 0x%d\n", drivers/misc/sgi-gru/grumain.c:286: gru_dbg(grudev, "gid %d, gts %p, gms %p, ctxnum 0x%d, asidmap 0x%lx\n", sound/soc/atmel/atmel_ssc_dai.c:293:pr_debug("atmel_ssc_startup: SSC_SR=0x%u\n", I'll send a few patches... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
On Sun, 2015-08-02 at 10:55 -0700, Tomer Barletz wrote: > Re-sending in plain-text. > > On Sun, Aug 2, 2015 at 4:09 AM, Sergei Shtylyov > wrote: > > >Please use pr_err() instead. And "0x%d" makes no sense at all, > > please use "%#x" instead. > > > > Yeah, not sure what I was drinking before writing this 0x%d thing... > > Regarding the pr_err() - it is not used at all in this file, and > printk() is used instead. Wouldn't it be better to leave it with > printk for this change, then have another change that replaces > printk()s with pr_err()s? Where possible, it'd be better to use ata_dev_ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
Re-sending in plain-text. On Sun, Aug 2, 2015 at 4:09 AM, Sergei Shtylyov wrote: >Please use pr_err() instead. And "0x%d" makes no sense at all, please use > "%#x" instead. > Yeah, not sure what I was drinking before writing this 0x%d thing... Regarding the pr_err() - it is not used at all in this file, and printk() is used instead. Wouldn't it be better to leave it with printk for this change, then have another change that replaces printk()s with pr_err()s? --Tomer On Sun, Aug 2, 2015 at 10:53 AM, Tomer Barletz wrote: > > On Sun, Aug 2, 2015 at 4:09 AM, Sergei Shtylyov > wrote: > >>Please use pr_err() instead. And "0x%d" makes no sense at all, please >> use "%#x" instead. >> > > Yeah, not sure what I was drinking before writing this 0x%d thing... > > Regarding the pr_err() - it is not used at all in this file, and printk() is > used instead. Wouldn't it be better to leave it with printk for this change, > then have another change that replaces printk()s with pr_err()s? > > --Tomer > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
Hello. On 8/2/2015 1:12 PM, Tomer Barletz wrote: The variable spd0 might be used uninitialized when pdc20621_i2c_read() fails. This also generates a compilation warning with gcc 5.1. Signed-off-by: Tomer Barletz --- drivers/ata/sata_sx4.c | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c index 3a18a8a..bed311b 100644 --- a/drivers/ata/sata_sx4.c +++ b/drivers/ata/sata_sx4.c @@ -1238,8 +1238,11 @@ static unsigned int pdc20621_prog_dimm_global(struct ata_host *host) readl(mmio + PDC_SDRAM_CONTROL); /* Turn on for ECC */ - pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, - PDC_DIMM_SPD_TYPE, ); + if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, + PDC_DIMM_SPD_TYPE, )) { + printk(KERN_ERR "Failed in i2c read: device=0x%d, subaddr=0x%d\n", PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); Please use pr_err() instead. And "0x%d" makes no sense at all, please use "%#x" instead. [...] @@ -1380,8 +1383,11 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host) /* ECC initiliazation. */ - pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, - PDC_DIMM_SPD_TYPE, ); + if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, + PDC_DIMM_SPD_TYPE, )) { + printk(KERN_ERR "Failed in i2c read: device=0x%d, subaddr=0x%d\n", PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); Likewise. MNR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
Hello. On 8/2/2015 1:12 PM, Tomer Barletz wrote: The variable spd0 might be used uninitialized when pdc20621_i2c_read() fails. This also generates a compilation warning with gcc 5.1. Signed-off-by: Tomer Barletz barl...@gmail.com --- drivers/ata/sata_sx4.c | 14 ++ 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c index 3a18a8a..bed311b 100644 --- a/drivers/ata/sata_sx4.c +++ b/drivers/ata/sata_sx4.c @@ -1238,8 +1238,11 @@ static unsigned int pdc20621_prog_dimm_global(struct ata_host *host) readl(mmio + PDC_SDRAM_CONTROL); /* Turn on for ECC */ - pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, - PDC_DIMM_SPD_TYPE, spd0); + if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, + PDC_DIMM_SPD_TYPE, spd0)) { + printk(KERN_ERR Failed in i2c read: device=0x%d, subaddr=0x%d\n, PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); Please use pr_err() instead. And 0x%d makes no sense at all, please use %#x instead. [...] @@ -1380,8 +1383,11 @@ static unsigned int pdc20621_dimm_init(struct ata_host *host) /* ECC initiliazation. */ - pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, - PDC_DIMM_SPD_TYPE, spd0); + if (!pdc20621_i2c_read(host, PDC_DIMM0_SPD_DEV_ADDRESS, + PDC_DIMM_SPD_TYPE, spd0)) { + printk(KERN_ERR Failed in i2c read: device=0x%d, subaddr=0x%d\n, PDC_DIMM0_SPD_DEV_ADDRESS, PDC_DIMM_SPD_TYPE); Likewise. MNR, Sergei -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
Re-sending in plain-text. On Sun, Aug 2, 2015 at 4:09 AM, Sergei Shtylyov sergei.shtyl...@cogentembedded.com wrote: Please use pr_err() instead. And 0x%d makes no sense at all, please use %#x instead. Yeah, not sure what I was drinking before writing this 0x%d thing... Regarding the pr_err() - it is not used at all in this file, and printk() is used instead. Wouldn't it be better to leave it with printk for this change, then have another change that replaces printk()s with pr_err()s? --Tomer On Sun, Aug 2, 2015 at 10:53 AM, Tomer Barletz barl...@gmail.com wrote: On Sun, Aug 2, 2015 at 4:09 AM, Sergei Shtylyov sergei.shtyl...@cogentembedded.com wrote: Please use pr_err() instead. And 0x%d makes no sense at all, please use %#x instead. Yeah, not sure what I was drinking before writing this 0x%d thing... Regarding the pr_err() - it is not used at all in this file, and printk() is used instead. Wouldn't it be better to leave it with printk for this change, then have another change that replaces printk()s with pr_err()s? --Tomer -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
On Sun, 2015-08-02 at 10:55 -0700, Tomer Barletz wrote: Re-sending in plain-text. On Sun, Aug 2, 2015 at 4:09 AM, Sergei Shtylyov sergei.shtyl...@cogentembedded.com wrote: Please use pr_err() instead. And 0x%d makes no sense at all, please use %#x instead. Yeah, not sure what I was drinking before writing this 0x%d thing... Regarding the pr_err() - it is not used at all in this file, and printk() is used instead. Wouldn't it be better to leave it with printk for this change, then have another change that replaces printk()s with pr_err()s? Where possible, it'd be better to use ata_dev_level -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] Check return code from pdc20621_i2c_read()
On Sun, 2015-08-02 at 10:55 -0700, Tomer Barletz wrote: On Sun, Aug 2, 2015 at 4:09 AM, Sergei Shtylyov sergei.shtyl...@cogentembedded.com wrote: Please use pr_err() instead. And 0x%d makes no sense at all, please use %#x instead. Yeah, not sure what I was drinking before writing this 0x%d thing... btw: you and a few others ([dui]: debugging under the influence?): $ git grep -n -E 0x[\*\d\.]*%[dui] drivers/block/DAC960.c:2957:DAC960_Error(IO port 0x%d busy for Controller at\n, drivers/block/DAC960.c:2993:DAC960_Error(IO port 0x%d busy for Controller at\n, drivers/block/cciss.c:3857: dev_dbg(h-pdev-dev,Max outstanding commands = 0x%d\n, drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:523:mfc_debug(2, stream buf addr: 0x%08lx, size: 0x%d\n, drivers/misc/sgi-gru/grumain.c:286: gru_dbg(grudev, gid %d, gts %p, gms %p, ctxnum 0x%d, asidmap 0x%lx\n, sound/soc/atmel/atmel_ssc_dai.c:293:pr_debug(atmel_ssc_startup: SSC_SR=0x%u\n, I'll send a few patches... -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/