netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH NEXT 0/7]qlcnic: bug fixes
@ 2010-05-17 11:22 Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 1/7] qlcnic: fix memory leaks Amit Kumar Salecha
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Amit Kumar Salecha @ 2010-05-17 11:22 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman

Hi
  Series of 7 patches to fix minor bugs. Please apply them on
  net-next.

-Amit

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH NEXT 1/7] qlcnic: fix memory leaks
  2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
@ 2010-05-17 11:22 ` Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 2/7] qlcnic: change adapter name display Amit Kumar Salecha
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Amit Kumar Salecha @ 2010-05-17 11:22 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, Anirban Chakraborty

From: Anirban Chakraborty <anirban.chakraborty@qlogic.com>

Fixes memory leak in error path when memory allocation
for adapter data structures fails.

Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic_ctx.c  |    3 ++-
 drivers/net/qlcnic/qlcnic_init.c |    4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_ctx.c b/drivers/net/qlcnic/qlcnic_ctx.c
index 0a6a399..c2c1f5c 100644
--- a/drivers/net/qlcnic/qlcnic_ctx.c
+++ b/drivers/net/qlcnic/qlcnic_ctx.c
@@ -421,7 +421,8 @@ int qlcnic_alloc_hw_resources(struct qlcnic_adapter *adapter)
 
 	if (addr == NULL) {
 		dev_err(&pdev->dev, "failed to allocate tx desc ring\n");
-		return -ENOMEM;
+		err = -ENOMEM;
+		goto err_out_free;
 	}
 
 	tx_ring->desc_head = (struct cmd_desc_type0 *)addr;
diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c
index 77bfdab..dccd8c3 100644
--- a/drivers/net/qlcnic/qlcnic_init.c
+++ b/drivers/net/qlcnic/qlcnic_init.c
@@ -210,7 +210,7 @@ int qlcnic_alloc_sw_resources(struct qlcnic_adapter *adapter)
 	cmd_buf_arr = vmalloc(TX_BUFF_RINGSIZE(tx_ring));
 	if (cmd_buf_arr == NULL) {
 		dev_err(&netdev->dev, "failed to allocate cmd buffer ring\n");
-		return -ENOMEM;
+		goto err_out;
 	}
 	memset(cmd_buf_arr, 0, TX_BUFF_RINGSIZE(tx_ring));
 	tx_ring->cmd_buf_arr = cmd_buf_arr;
@@ -221,7 +221,7 @@ int qlcnic_alloc_sw_resources(struct qlcnic_adapter *adapter)
 	rds_ring = kzalloc(size, GFP_KERNEL);
 	if (rds_ring == NULL) {
 		dev_err(&netdev->dev, "failed to allocate rds ring struct\n");
-		return -ENOMEM;
+		goto err_out;
 	}
 	recv_ctx->rds_rings = rds_ring;
 
-- 
1.5.6.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH NEXT 2/7] qlcnic: change adapter name display
  2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 1/7] qlcnic: fix memory leaks Amit Kumar Salecha
@ 2010-05-17 11:22 ` Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 3/7] qlcnic: fix rx bytes statistics Amit Kumar Salecha
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Amit Kumar Salecha @ 2010-05-17 11:22 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, Sucheta Chakraborty

From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>

Append mac address to adapter name.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic_main.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index f1949c9..db05635 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -495,7 +495,9 @@ static void get_brd_name(struct qlcnic_adapter *adapter, char *name)
 			qlcnic_boards[i].device == pdev->device &&
 			qlcnic_boards[i].sub_vendor == pdev->subsystem_vendor &&
 			qlcnic_boards[i].sub_device == pdev->subsystem_device) {
-				strcpy(name, qlcnic_boards[i].short_name);
+				sprintf(name, "%pM: %s" ,
+					adapter->mac_addr,
+					qlcnic_boards[i].short_name);
 				found = 1;
 				break;
 		}
@@ -1083,6 +1085,9 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		goto err_out_iounmap;
 	}
 
+	if (qlcnic_read_mac_addr(adapter))
+		dev_warn(&pdev->dev, "failed to read mac addr\n");
+
 	if (qlcnic_setup_idc_param(adapter))
 		goto err_out_iounmap;
 
-- 
1.5.6.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH NEXT 3/7] qlcnic: fix rx bytes statistics
  2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 1/7] qlcnic: fix memory leaks Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 2/7] qlcnic: change adapter name display Amit Kumar Salecha
@ 2010-05-17 11:22 ` Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 4/7] qlcnic: module param for firmware load option Amit Kumar Salecha
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Amit Kumar Salecha @ 2010-05-17 11:22 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, Sucheta Chakraborty

From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>

Added lrobytes to it.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic_main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index db05635..0a52d24 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -1702,7 +1702,7 @@ static struct net_device_stats *qlcnic_get_stats(struct net_device *netdev)
 
 	stats->rx_packets = adapter->stats.rx_pkts + adapter->stats.lro_pkts;
 	stats->tx_packets = adapter->stats.xmitfinished;
-	stats->rx_bytes = adapter->stats.rxbytes;
+	stats->rx_bytes = adapter->stats.rxbytes + adapter->stats.lrobytes;
 	stats->tx_bytes = adapter->stats.txbytes;
 	stats->rx_dropped = adapter->stats.rxdropped;
 	stats->tx_dropped = adapter->stats.txdropped;
-- 
1.5.6.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH NEXT 4/7] qlcnic: module param for firmware load option
  2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
                   ` (2 preceding siblings ...)
  2010-05-17 11:22 ` [PATCH NEXT 3/7] qlcnic: fix rx bytes statistics Amit Kumar Salecha
@ 2010-05-17 11:22 ` Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 5/7] qlcnic: fix internal loopback test Amit Kumar Salecha
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Amit Kumar Salecha @ 2010-05-17 11:22 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman

By default fw is loaded from flash, user can
change this priority using load_fw_file module param.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic_main.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index 0a52d24..b076474 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -61,6 +61,10 @@ static int auto_fw_reset = AUTO_FW_RESET_ENABLED;
 module_param(auto_fw_reset, int, 0644);
 MODULE_PARM_DESC(auto_fw_reset, "Auto firmware reset (0=disabled, 1=enabled");
 
+static int load_fw_file;
+module_param(load_fw_file, int, 0644);
+MODULE_PARM_DESC(load_fw_file, "Load firmware from (0=flash, 1=file");
+
 static int __devinit qlcnic_probe(struct pci_dev *pdev,
 		const struct pci_device_id *ent);
 static void __devexit qlcnic_remove(struct pci_dev *pdev);
@@ -585,7 +589,10 @@ qlcnic_start_firmware(struct qlcnic_adapter *adapter)
 		/* This is the first boot after power up */
 		QLCWR32(adapter, QLCNIC_CAM_RAM(0x1fc), QLCNIC_BDINFO_MAGIC);
 
-	qlcnic_request_firmware(adapter);
+	if (load_fw_file)
+		qlcnic_request_firmware(adapter);
+	else
+		adapter->fw_type = QLCNIC_FLASH_ROMIMAGE;
 
 	err = qlcnic_need_fw_reset(adapter);
 	if (err < 0)
-- 
1.5.6.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH NEXT 5/7] qlcnic: fix internal loopback test
  2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
                   ` (3 preceding siblings ...)
  2010-05-17 11:22 ` [PATCH NEXT 4/7] qlcnic: module param for firmware load option Amit Kumar Salecha
@ 2010-05-17 11:22 ` Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 6/7] qlcnic: remove unused register Amit Kumar Salecha
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Amit Kumar Salecha @ 2010-05-17 11:22 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman, Sucheta Chakraborty

From: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>

Reset/set DEV_UP bit during allocation and deallocation of resources.

Signed-off-by: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic_main.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index b076474..dde1e8a 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -870,6 +870,7 @@ void qlcnic_diag_free_res(struct net_device *netdev, int max_sds_rings)
 	struct qlcnic_host_sds_ring *sds_ring;
 	int ring;
 
+	clear_bit(__QLCNIC_DEV_UP, &adapter->state);
 	if (adapter->diag_test == QLCNIC_INTERRUPT_TEST) {
 		for (ring = 0; ring < adapter->max_sds_rings; ring++) {
 			sds_ring = &adapter->recv_ctx.sds_rings[ring];
@@ -920,6 +921,7 @@ int qlcnic_diag_alloc_res(struct net_device *netdev, int test)
 			qlcnic_enable_int(sds_ring);
 		}
 	}
+	set_bit(__QLCNIC_DEV_UP, &adapter->state);
 
 	return 0;
 }
-- 
1.5.6.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH NEXT 6/7] qlcnic: remove unused register
  2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
                   ` (4 preceding siblings ...)
  2010-05-17 11:22 ` [PATCH NEXT 5/7] qlcnic: fix internal loopback test Amit Kumar Salecha
@ 2010-05-17 11:22 ` Amit Kumar Salecha
  2010-05-17 11:22 ` [PATCH NEXT 7/7] qlcnic: mark device state fail Amit Kumar Salecha
  2010-05-18  0:31 ` [PATCH NEXT 0/7]qlcnic: bug fixes David Miller
  7 siblings, 0 replies; 9+ messages in thread
From: Amit Kumar Salecha @ 2010-05-17 11:22 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman

Removing register defines which are not used by Qlgoic CNA device.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic.h      |    2 --
 drivers/net/qlcnic/qlcnic_hdr.h  |   16 ----------------
 drivers/net/qlcnic/qlcnic_init.c |    2 --
 drivers/net/qlcnic/qlcnic_main.c |    1 -
 4 files changed, 0 insertions(+), 21 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h
index 2ed34cd..896d40d 100644
--- a/drivers/net/qlcnic/qlcnic.h
+++ b/drivers/net/qlcnic/qlcnic.h
@@ -149,8 +149,6 @@
 #define get_next_index(index, length)	\
 	(((index) + 1) & ((length) - 1))
 
-#define MPORT_MULTI_FUNCTION_MODE 0x2222
-
 /*
  * Following data structures describe the descriptors that will be used.
  * Added fileds of tcpHdrSize and ipHdrSize, The driver needs to do it only when
diff --git a/drivers/net/qlcnic/qlcnic_hdr.h b/drivers/net/qlcnic/qlcnic_hdr.h
index 1374078..ad9d167 100644
--- a/drivers/net/qlcnic/qlcnic_hdr.h
+++ b/drivers/net/qlcnic/qlcnic_hdr.h
@@ -563,32 +563,16 @@ enum {
 #define CRB_PF_LINK_SPEED_1		(QLCNIC_REG(0xe8))
 #define CRB_PF_LINK_SPEED_2		(QLCNIC_REG(0xec))
 
-#define CRB_MPORT_MODE			(QLCNIC_REG(0xc4))
-#define CRB_DMA_SHIFT			(QLCNIC_REG(0xcc))
-
 #define CRB_TEMP_STATE			(QLCNIC_REG(0x1b4))
 
 #define CRB_V2P_0			(QLCNIC_REG(0x290))
 #define CRB_V2P(port)			(CRB_V2P_0+((port)*4))
 #define CRB_DRIVER_VERSION		(QLCNIC_REG(0x2a0))
 
-#define CRB_SW_INT_MASK_0		(QLCNIC_REG(0x1d8))
-#define CRB_SW_INT_MASK_1		(QLCNIC_REG(0x1e0))
-#define CRB_SW_INT_MASK_2		(QLCNIC_REG(0x1e4))
-#define CRB_SW_INT_MASK_3		(QLCNIC_REG(0x1e8))
-
 #define CRB_FW_CAPABILITIES_1		(QLCNIC_CAM_RAM(0x128))
 #define CRB_MAC_BLOCK_START		(QLCNIC_CAM_RAM(0x1c0))
 
 /*
- * capabilities register, can be used to selectively enable/disable features
- * for backward compability
- */
-#define CRB_NIC_CAPABILITIES_HOST	QLCNIC_REG(0x1a8)
-
-#define INTR_SCHEME_PERPORT	      	0x1
-
-/*
  * CrbPortPhanCntrHi/Lo is used to pass the address of HostPhantomIndex address
  * which can be read by the Phantom host to get producer/consumer indexes from
  * Phantom/Casper. If it is not HOST_SHARED_MEMORY, then the following
diff --git a/drivers/net/qlcnic/qlcnic_init.c b/drivers/net/qlcnic/qlcnic_init.c
index dccd8c3..71a4e66 100644
--- a/drivers/net/qlcnic/qlcnic_init.c
+++ b/drivers/net/qlcnic/qlcnic_init.c
@@ -1184,8 +1184,6 @@ int qlcnic_init_firmware(struct qlcnic_adapter *adapter)
 	if (err)
 		return err;
 
-	QLCWR32(adapter, CRB_NIC_CAPABILITIES_HOST, INTR_SCHEME_PERPORT);
-	QLCWR32(adapter, CRB_MPORT_MODE, MPORT_MULTI_FUNCTION_MODE);
 	QLCWR32(adapter, CRB_CMDPEG_STATE, PHAN_INITIALIZE_ACK);
 
 	return err;
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index dde1e8a..f8bd1bd 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -606,7 +606,6 @@ qlcnic_start_firmware(struct qlcnic_adapter *adapter)
 		msleep(1);
 	}
 
-	QLCWR32(adapter, CRB_DMA_SHIFT, 0x55555555);
 	QLCWR32(adapter, QLCNIC_PEG_HALT_STATUS1, 0);
 	QLCWR32(adapter, QLCNIC_PEG_HALT_STATUS2, 0);
 
-- 
1.5.6.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH NEXT 7/7] qlcnic: mark device state fail
  2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
                   ` (5 preceding siblings ...)
  2010-05-17 11:22 ` [PATCH NEXT 6/7] qlcnic: remove unused register Amit Kumar Salecha
@ 2010-05-17 11:22 ` Amit Kumar Salecha
  2010-05-18  0:31 ` [PATCH NEXT 0/7]qlcnic: bug fixes David Miller
  7 siblings, 0 replies; 9+ messages in thread
From: Amit Kumar Salecha @ 2010-05-17 11:22 UTC (permalink / raw)
  To: davem; +Cc: netdev, ameen.rahman

Device state need to be mark as FAILED, if fail to start firmware.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
---
 drivers/net/qlcnic/qlcnic_main.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index f8bd1bd..1003eb7 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -635,9 +635,12 @@ wait_init:
 
 	adapter->need_fw_reset = 0;
 
-	/* fall through and release firmware */
+	qlcnic_release_firmware(adapter);
+	return 0;
 
 err_out:
+	QLCWR32(adapter, QLCNIC_CRB_DEV_STATE, QLCNIC_DEV_FAILED);
+	dev_err(&adapter->pdev->dev, "Device state set to failed\n");
 	qlcnic_release_firmware(adapter);
 	return err;
 }
@@ -1100,8 +1103,10 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		goto err_out_iounmap;
 
 	err = qlcnic_start_firmware(adapter);
-	if (err)
+	if (err) {
+		dev_err(&pdev->dev, "Loading fw failed.Please Reboot\n");
 		goto err_out_decr_ref;
+	}
 
 	qlcnic_clear_stats(adapter);
 
@@ -2061,6 +2066,7 @@ qlcnic_can_start_firmware(struct qlcnic_adapter *adapter)
 		break;
 
 	case QLCNIC_DEV_FAILED:
+		dev_err(&adapter->pdev->dev, "Device in failed state.\n");
 		qlcnic_api_unlock(adapter);
 		return -1;
 
-- 
1.5.6.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH NEXT 0/7]qlcnic: bug fixes
  2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
                   ` (6 preceding siblings ...)
  2010-05-17 11:22 ` [PATCH NEXT 7/7] qlcnic: mark device state fail Amit Kumar Salecha
@ 2010-05-18  0:31 ` David Miller
  7 siblings, 0 replies; 9+ messages in thread
From: David Miller @ 2010-05-18  0:31 UTC (permalink / raw)
  To: amit.salecha; +Cc: netdev, ameen.rahman

From: Amit Kumar Salecha <amit.salecha@qlogic.com>
Date: Mon, 17 May 2010 04:22:07 -0700

>   Series of 7 patches to fix minor bugs. Please apply them on
>   net-next.

All applied, thank you.


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-05-18  0:31 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-17 11:22 [PATCH NEXT 0/7]qlcnic: bug fixes Amit Kumar Salecha
2010-05-17 11:22 ` [PATCH NEXT 1/7] qlcnic: fix memory leaks Amit Kumar Salecha
2010-05-17 11:22 ` [PATCH NEXT 2/7] qlcnic: change adapter name display Amit Kumar Salecha
2010-05-17 11:22 ` [PATCH NEXT 3/7] qlcnic: fix rx bytes statistics Amit Kumar Salecha
2010-05-17 11:22 ` [PATCH NEXT 4/7] qlcnic: module param for firmware load option Amit Kumar Salecha
2010-05-17 11:22 ` [PATCH NEXT 5/7] qlcnic: fix internal loopback test Amit Kumar Salecha
2010-05-17 11:22 ` [PATCH NEXT 6/7] qlcnic: remove unused register Amit Kumar Salecha
2010-05-17 11:22 ` [PATCH NEXT 7/7] qlcnic: mark device state fail Amit Kumar Salecha
2010-05-18  0:31 ` [PATCH NEXT 0/7]qlcnic: bug fixes David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).