From: Joshua Clayton <stillcompiling@gmail.com> To: linux-arm-kernel@lists.infradead.org Cc: Shaun Ren <shaun.ren@linux.com>, gregkh@linuxfoundation.org, rjui@broadcom.com, devel@driverdev.osuosl.org, sbranden@broadcom.com, jonmason@broadcom.com, linux-kernel@vger.kernel.org, bcm-kernel-feedback-list@broadcom.com, joe@perches.com, mahfouz.saif.elyazal@gmail.com Subject: Re: [PATCH v3 1/9] Staging: rts5208: rtsx_transport.c: Cleanup comments Date: Tue, 09 Feb 2016 19:06:06 -0800 [thread overview] Message-ID: <4448620.TdHnN3dFWN@diplodocus> (raw) In-Reply-To: <1455072328-7033-2-git-send-email-shaun.ren@linux.com> Hi Shaun. These comments now reflect common kernel style. Thanks for addressing my comments. Just one minor note below. It seems the word SCSI SCSI got duplicated in one comment. (Noted below). The rest look great to me. On Tuesday, February 09, 2016 06:45:20 PM Shaun Ren wrote: > This patch fixes all multiline comments to conform to the coding style, > which states that multiline comments should start with "/*" and end > with "*/" on a separate line. > > Also cleans up some comments to make them more clear and/or reflect what > the code is doing. > > Signed-off-by: Shaun Ren <shaun.ren@linux.com> > --- > Changes since v2 > * Cleaned up comments as per Joshua Clayton's suggestions > > drivers/staging/rts5208/rtsx_transport.c | 53 ++++++++++++++++---------------- > 1 file changed, 27 insertions(+), 26 deletions(-) > > diff --git a/drivers/staging/rts5208/rtsx_transport.c b/drivers/staging/rts5208/rtsx_transport.c > index f27491e..5de8913 100644 > --- a/drivers/staging/rts5208/rtsx_transport.c > +++ b/drivers/staging/rts5208/rtsx_transport.c > @@ -1,4 +1,5 @@ > -/* Driver for Realtek PCI-Express card reader > +/* > + * Driver for Realtek PCI-Express card reader > * > * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved. > * > @@ -30,13 +31,15 @@ > * Scatter-gather transfer buffer access routines > ***********************************************************************/ > > -/* Copy a buffer of length buflen to/from the srb's transfer buffer. > +/* > + * Copy a buffer of length buflen to/from the srb's transfer buffer. > * (Note: for scatter-gather transfers (srb->use_sg > 0), srb->request_buffer > * points to a list of s-g entries and we ignore srb->request_bufflen. > * For non-scatter-gather transfers, srb->request_buffer points to the > * transfer buffer itself and srb->request_bufflen is the buffer's length.) > * Update the *index and *offset variables so that the next copy will > - * pick up from where this one left off. */ > + * pick up from where this one left off. > + */ > > unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > unsigned int buflen, struct scsi_cmnd *srb, unsigned int *index, > @@ -44,8 +47,7 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > { > unsigned int cnt; > > - /* If not using scatter-gather, just transfer the data directly. > - * Make certain it will fit in the available buffer space. */ > + /* If not using scatter-gather, just transfer the data directly. */ > if (scsi_sg_count(srb) == 0) { > if (*offset >= scsi_bufflen(srb)) > return 0; > @@ -58,22 +60,22 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > *offset, cnt); > *offset += cnt; > > - /* Using scatter-gather. We have to go through the list one entry > + /* > + * Using scatter-gather. We have to go through the list one entry > * at a time. Each s-g entry contains some number of pages, and > - * each page has to be kmap()'ed separately. If the page is already > - * in kernel-addressable memory then kmap() will return its address. > - * If the page is not directly accessible -- such as a user buffer > - * located in high memory -- then kmap() will map it to a temporary > - * position in the kernel's virtual address space. */ > + * each page has to be kmap()'ed separately. > + */ > } else { > struct scatterlist *sg = > (struct scatterlist *) scsi_sglist(srb) > + *index; > > - /* This loop handles a single s-g list entry, which may > + /* > + * This loop handles a single s-g list entry, which may > * include multiple pages. Find the initial page structure > * and the starting offset within the page, and update > - * the *offset and *index values for the next loop. */ > + * the *offset and *index values for the next loop. > + */ > cnt = 0; > while (cnt < buflen && *index < scsi_sg_count(srb)) { > struct page *page = sg_page(sg) + > @@ -95,9 +97,6 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > ++sg; > } > > - /* Transfer the data for all the pages in this > - * s-g entry. For each page: call kmap(), do the > - * transfer, and call kunmap() immediately after. */ > while (sglen > 0) { > unsigned int plen = min(sglen, (unsigned int) > PAGE_SIZE - poff); > @@ -122,8 +121,10 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > return cnt; > } > > -/* Store the contents of buffer into srb's transfer buffer and set the > -* SCSI residue. */ > +/* > + * Store the contents of buffer into srb's transfer buffer and set the SCSI > + * SCSI residue. > + */ SCSI SCSI > void rtsx_stor_set_xfer_buf(unsigned char *buffer, > unsigned int buflen, struct scsi_cmnd *srb) > { > @@ -151,7 +152,8 @@ void rtsx_stor_get_xfer_buf(unsigned char *buffer, > * Transport routines > ***********************************************************************/ > > -/* Invoke the transport and basic error-handling/recovery methods > +/* > + * Invoke the transport and basic error-handling/recovery methods > * > * This is used to send the message to the device and receive the response. > */ > @@ -161,8 +163,9 @@ void rtsx_invoke_transport(struct scsi_cmnd *srb, struct rtsx_chip *chip) > > result = rtsx_scsi_handler(srb, chip); > > - /* if the command gets aborted by the higher layers, we need to > - * short-circuit all other processing > + /* > + * if the command gets aborted by the higher layers, we need to > + * short-circuit all other processing. > */ > if (rtsx_chk_stat(chip, RTSX_STAT_ABORT)) { > dev_dbg(rtsx_dev(chip), "-- command was aborted\n"); > @@ -194,9 +197,6 @@ void rtsx_invoke_transport(struct scsi_cmnd *srb, struct rtsx_chip *chip) > > return; > > - /* Error and abort processing: try to resynchronize with the device > - * by issuing a port reset. If that fails, try a class-specific > - * device reset. */ > Handle_Errors: > return; > } > @@ -368,10 +368,11 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card, > resid = size; > sg_ptr = sg; > chip->sgi = 0; > - /* Usually the next entry will be @sg@ + 1, but if this sg element > + /* > + * Usually the next entry will be @sg@ + 1, but if this sg element > * is part of a chained scatterlist, it could jump to the start of > * a new scatterlist array. So here we use sg_next to move to > - * the proper sg > + * the proper sg. > */ > for (i = 0; i < *index; i++) > sg_ptr = sg_next(sg_ptr); >
WARNING: multiple messages have this Message-ID (diff)
From: stillcompiling@gmail.com (Joshua Clayton) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 1/9] Staging: rts5208: rtsx_transport.c: Cleanup comments Date: Tue, 09 Feb 2016 19:06:06 -0800 [thread overview] Message-ID: <4448620.TdHnN3dFWN@diplodocus> (raw) In-Reply-To: <1455072328-7033-2-git-send-email-shaun.ren@linux.com> Hi Shaun. These comments now reflect common kernel style. Thanks for addressing my comments. Just one minor note below. It seems the word SCSI SCSI got duplicated in one comment. (Noted below). The rest look great to me. On Tuesday, February 09, 2016 06:45:20 PM Shaun Ren wrote: > This patch fixes all multiline comments to conform to the coding style, > which states that multiline comments should start with "/*" and end > with "*/" on a separate line. > > Also cleans up some comments to make them more clear and/or reflect what > the code is doing. > > Signed-off-by: Shaun Ren <shaun.ren@linux.com> > --- > Changes since v2 > * Cleaned up comments as per Joshua Clayton's suggestions > > drivers/staging/rts5208/rtsx_transport.c | 53 ++++++++++++++++---------------- > 1 file changed, 27 insertions(+), 26 deletions(-) > > diff --git a/drivers/staging/rts5208/rtsx_transport.c b/drivers/staging/rts5208/rtsx_transport.c > index f27491e..5de8913 100644 > --- a/drivers/staging/rts5208/rtsx_transport.c > +++ b/drivers/staging/rts5208/rtsx_transport.c > @@ -1,4 +1,5 @@ > -/* Driver for Realtek PCI-Express card reader > +/* > + * Driver for Realtek PCI-Express card reader > * > * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved. > * > @@ -30,13 +31,15 @@ > * Scatter-gather transfer buffer access routines > ***********************************************************************/ > > -/* Copy a buffer of length buflen to/from the srb's transfer buffer. > +/* > + * Copy a buffer of length buflen to/from the srb's transfer buffer. > * (Note: for scatter-gather transfers (srb->use_sg > 0), srb->request_buffer > * points to a list of s-g entries and we ignore srb->request_bufflen. > * For non-scatter-gather transfers, srb->request_buffer points to the > * transfer buffer itself and srb->request_bufflen is the buffer's length.) > * Update the *index and *offset variables so that the next copy will > - * pick up from where this one left off. */ > + * pick up from where this one left off. > + */ > > unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > unsigned int buflen, struct scsi_cmnd *srb, unsigned int *index, > @@ -44,8 +47,7 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > { > unsigned int cnt; > > - /* If not using scatter-gather, just transfer the data directly. > - * Make certain it will fit in the available buffer space. */ > + /* If not using scatter-gather, just transfer the data directly. */ > if (scsi_sg_count(srb) == 0) { > if (*offset >= scsi_bufflen(srb)) > return 0; > @@ -58,22 +60,22 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > *offset, cnt); > *offset += cnt; > > - /* Using scatter-gather. We have to go through the list one entry > + /* > + * Using scatter-gather. We have to go through the list one entry > * at a time. Each s-g entry contains some number of pages, and > - * each page has to be kmap()'ed separately. If the page is already > - * in kernel-addressable memory then kmap() will return its address. > - * If the page is not directly accessible -- such as a user buffer > - * located in high memory -- then kmap() will map it to a temporary > - * position in the kernel's virtual address space. */ > + * each page has to be kmap()'ed separately. > + */ > } else { > struct scatterlist *sg = > (struct scatterlist *) scsi_sglist(srb) > + *index; > > - /* This loop handles a single s-g list entry, which may > + /* > + * This loop handles a single s-g list entry, which may > * include multiple pages. Find the initial page structure > * and the starting offset within the page, and update > - * the *offset and *index values for the next loop. */ > + * the *offset and *index values for the next loop. > + */ > cnt = 0; > while (cnt < buflen && *index < scsi_sg_count(srb)) { > struct page *page = sg_page(sg) + > @@ -95,9 +97,6 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > ++sg; > } > > - /* Transfer the data for all the pages in this > - * s-g entry. For each page: call kmap(), do the > - * transfer, and call kunmap() immediately after. */ > while (sglen > 0) { > unsigned int plen = min(sglen, (unsigned int) > PAGE_SIZE - poff); > @@ -122,8 +121,10 @@ unsigned int rtsx_stor_access_xfer_buf(unsigned char *buffer, > return cnt; > } > > -/* Store the contents of buffer into srb's transfer buffer and set the > -* SCSI residue. */ > +/* > + * Store the contents of buffer into srb's transfer buffer and set the SCSI > + * SCSI residue. > + */ SCSI SCSI > void rtsx_stor_set_xfer_buf(unsigned char *buffer, > unsigned int buflen, struct scsi_cmnd *srb) > { > @@ -151,7 +152,8 @@ void rtsx_stor_get_xfer_buf(unsigned char *buffer, > * Transport routines > ***********************************************************************/ > > -/* Invoke the transport and basic error-handling/recovery methods > +/* > + * Invoke the transport and basic error-handling/recovery methods > * > * This is used to send the message to the device and receive the response. > */ > @@ -161,8 +163,9 @@ void rtsx_invoke_transport(struct scsi_cmnd *srb, struct rtsx_chip *chip) > > result = rtsx_scsi_handler(srb, chip); > > - /* if the command gets aborted by the higher layers, we need to > - * short-circuit all other processing > + /* > + * if the command gets aborted by the higher layers, we need to > + * short-circuit all other processing. > */ > if (rtsx_chk_stat(chip, RTSX_STAT_ABORT)) { > dev_dbg(rtsx_dev(chip), "-- command was aborted\n"); > @@ -194,9 +197,6 @@ void rtsx_invoke_transport(struct scsi_cmnd *srb, struct rtsx_chip *chip) > > return; > > - /* Error and abort processing: try to resynchronize with the device > - * by issuing a port reset. If that fails, try a class-specific > - * device reset. */ > Handle_Errors: > return; > } > @@ -368,10 +368,11 @@ static int rtsx_transfer_sglist_adma_partial(struct rtsx_chip *chip, u8 card, > resid = size; > sg_ptr = sg; > chip->sgi = 0; > - /* Usually the next entry will be @sg@ + 1, but if this sg element > + /* > + * Usually the next entry will be @sg@ + 1, but if this sg element > * is part of a chained scatterlist, it could jump to the start of > * a new scatterlist array. So here we use sg_next to move to > - * the proper sg > + * the proper sg. > */ > for (i = 0; i < *index; i++) > sg_ptr = sg_next(sg_ptr); >
next prev parent reply other threads:[~2016-02-10 3:20 UTC|newest] Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-01-26 2:27 [PATCH 0/2] Staging: rts5208: Coding style and dma mapping fixes Shaun Ren 2016-01-26 2:27 ` Shaun Ren 2016-01-26 2:27 ` [PATCH 1/2] Staging: rts5208: Cleanup rtsx_transport.c Shaun Ren 2016-01-26 2:27 ` Shaun Ren 2016-02-08 4:03 ` Greg KH 2016-02-08 4:03 ` Greg KH 2016-01-26 2:27 ` [PATCH 2/2] Staging: rts5208: Add missing dma_mapping_error Shaun Ren 2016-01-26 2:27 ` Shaun Ren 2016-02-08 4:03 ` Greg KH 2016-02-08 4:03 ` Greg KH 2016-02-09 1:31 ` [PATCH v2 0/9] Staging: rts5208: Coding style and dma mapping fixes Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-09 1:31 ` [PATCH v2 1/9] Staging: rts5208: rtsx_transport.c: Fix comment style warnings Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-09 3:05 ` Joshua Clayton 2016-02-09 3:05 ` Joshua Clayton 2016-02-09 1:31 ` [PATCH v2 2/9] Staging: rts5208: rtsx_transport.c: Align to open parenthesis Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-10 5:21 ` Sudip Mukherjee 2016-02-10 5:21 ` Sudip Mukherjee 2016-02-09 1:31 ` [PATCH v2 3/9] Staging: rts5208: rtsx_transport.c: Remove spaces after casts Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-09 1:31 ` [PATCH v2 4/9] Staging: rts5208: rtsx_transport.c: Add spaces around - Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-09 1:31 ` [PATCH v2 5/9] Staging: rts5208: rtsx_transport.c: Remove extra newlines Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-09 1:31 ` [PATCH v2 6/9] Staging: rts5208: rtsx_transport.c: Fix label naming convention Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-09 1:31 ` [PATCH v2 7/9] Staging: rts5208: rtsx_transport.c: Remove unnecessary parentheses Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-10 5:26 ` Sudip Mukherjee 2016-02-10 5:26 ` Sudip Mukherjee 2016-02-10 18:38 ` Shaun Ren 2016-02-10 18:38 ` Shaun Ren 2016-02-09 1:31 ` [PATCH v2 8/9] Staging: rts5208: rtsx_transport.c: Fix comparisons to NULL Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-09 1:31 ` [PATCH v2 9/9] Staging: rts5208: Add missing dma_mapping_error Shaun Ren 2016-02-09 1:31 ` Shaun Ren 2016-02-10 2:45 ` [PATCH v3 0/9] Staging: rts5208: Coding style and dma mapping fixes Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 2:45 ` [PATCH v3 1/9] Staging: rts5208: rtsx_transport.c: Cleanup comments Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 3:06 ` Joshua Clayton [this message] 2016-02-10 3:06 ` Joshua Clayton 2016-02-10 2:45 ` [PATCH v3 2/9] Staging: rts5208: rtsx_transport.c: Align to open parenthesis Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 2:58 ` Joe Perches 2016-02-10 2:58 ` Joe Perches 2016-02-10 2:45 ` [PATCH v3 3/9] Staging: rts5208: rtsx_transport.c: Remove spaces after casts Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 2:45 ` [PATCH v3 4/9] Staging: rts5208: rtsx_transport.c: Add spaces around - Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 2:45 ` [PATCH v3 5/9] Staging: rts5208: rtsx_transport.c: Remove extra newlines Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 2:45 ` [PATCH v3 6/9] Staging: rts5208: rtsx_transport.c: Fix label naming convention Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 2:45 ` [PATCH v3 7/9] Staging: rts5208: rtsx_transport.c: Remove unnecessary parentheses Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 2:45 ` [PATCH v3 8/9] Staging: rts5208: rtsx_transport.c: Fix comparisons to NULL Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-10 2:45 ` [PATCH v3 9/9] Staging: rts5208: Add missing dma_mapping_error Shaun Ren 2016-02-10 2:45 ` Shaun Ren 2016-02-12 4:07 ` [PATCH v4 0/8] Staging: rts5208: Fix coding style Shaun Ren 2016-02-12 4:07 ` Shaun Ren 2016-02-12 4:07 ` [PATCH v4 1/8] Staging: rts5208: rtsx_transport.c: Cleanup comments Shaun Ren 2016-02-12 4:07 ` Shaun Ren 2016-02-12 4:07 ` [PATCH v4 2/8] Staging: rts5208: rtsx_transport.c: Align to open parenthesis Shaun Ren 2016-02-12 4:07 ` Shaun Ren 2016-02-12 4:32 ` Joe Perches 2016-02-12 4:32 ` Joe Perches 2016-02-12 6:56 ` [PATCH v5 " Shaun Ren 2016-02-12 6:56 ` Shaun Ren 2016-02-15 0:41 ` Greg KH 2016-02-15 0:41 ` Greg KH 2016-02-12 4:38 ` [PATCH v4 " kbuild test robot 2016-02-12 4:38 ` kbuild test robot 2016-02-12 4:07 ` [PATCH v4 3/8] Staging: rts5208: rtsx_transport.c: Remove spaces after casts Shaun Ren 2016-02-12 4:07 ` Shaun Ren 2016-02-12 4:07 ` [PATCH v4 4/8] Staging: rts5208: rtsx_transport.c: Add spaces around - Shaun Ren 2016-02-12 4:07 ` Shaun Ren 2016-02-12 4:07 ` [PATCH v4 5/8] Staging: rts5208: rtsx_transport.c: Remove extra newlines Shaun Ren 2016-02-12 4:07 ` Shaun Ren 2016-02-12 4:07 ` [PATCH v4 6/8] Staging: rts5208: rtsx_transport.c: Fix label naming convention Shaun Ren 2016-02-12 4:07 ` Shaun Ren 2016-02-12 4:07 ` [PATCH v4 7/8] Staging: rts5208: rtsx_transport.c: Remove unnecessary parentheses Shaun Ren 2016-02-12 4:07 ` Shaun Ren 2016-02-12 4:08 ` [PATCH v4 8/8] Staging: rts5208: rtsx_transport.c: Fix comparisons to NULL Shaun Ren 2016-02-12 4:08 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 0/8] Staging: rts5208: Fix coding style Shaun Ren 2016-02-15 18:58 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 1/8] Staging: rts5208: rtsx_transport.c: Cleanup comments Shaun Ren 2016-02-15 18:58 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 2/8] Staging: rts5208: rtsx_transport.c: Align to open parenthesis Shaun Ren 2016-02-15 18:58 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 3/8] Staging: rts5208: rtsx_transport.c: Remove spaces after casts Shaun Ren 2016-02-15 18:58 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 4/8] Staging: rts5208: rtsx_transport.c: Add spaces around - Shaun Ren 2016-02-15 18:58 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 5/8] Staging: rts5208: rtsx_transport.c: Remove extra newlines Shaun Ren 2016-02-15 18:58 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 6/8] Staging: rts5208: rtsx_transport.c: Fix label naming convention Shaun Ren 2016-02-15 18:58 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 7/8] Staging: rts5208: rtsx_transport.c: Remove unnecessary parentheses Shaun Ren 2016-02-15 18:58 ` Shaun Ren 2016-02-15 18:58 ` [PATCH v5 RESEND 8/8] Staging: rts5208: rtsx_transport.c: Fix comparisons to NULL Shaun Ren 2016-02-15 18:58 ` Shaun Ren
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=4448620.TdHnN3dFWN@diplodocus \ --to=stillcompiling@gmail.com \ --cc=bcm-kernel-feedback-list@broadcom.com \ --cc=devel@driverdev.osuosl.org \ --cc=gregkh@linuxfoundation.org \ --cc=joe@perches.com \ --cc=jonmason@broadcom.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mahfouz.saif.elyazal@gmail.com \ --cc=rjui@broadcom.com \ --cc=sbranden@broadcom.com \ --cc=shaun.ren@linux.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.