All of lore.kernel.org
 help / color / mirror / Atom feed
* Please pull bcm43xx-d80211 bugfixes
@ 2006-10-28 15:41 Michael Buesch
  0 siblings, 0 replies; only message in thread
From: Michael Buesch @ 2006-10-28 15:41 UTC (permalink / raw)
  To: linville-2XuSBdqkA4R54TAoqtyWWQ
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, Jeff Williams,
	bcm43xx-dev-0fE9KPoRgkgATYTw5x5z8w

Hi John,

Please
git pull http://bu3sch.de/git/wireless-dev.git for-linville

This will pull the following things since my last
pull request:

Michael Buesch:
      bcm43xx-d80211: Fix DMA engine TX buffer unmap crash.
      bcm43xx-d80211: Don't ignore return value of pci_enable_device()

 drivers/net/wireless/d80211/bcm43xx/bcm43xx_dma.c  |    7 ++++++-
 drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c |    6 ++++--
 2 files changed, 10 insertions(+), 3 deletions(-)


diff --git a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_dma.c b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_dma.c
index ac7b734..24fc47d 100644
--- a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_dma.c
+++ b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_dma.c
@@ -1102,6 +1102,7 @@ void bcm43xx_dma_handle_txstatus(struct 
 				 const struct bcm43xx_txstatus *status)
 {
 	const struct bcm43xx_dma_ops *ops;
+	struct bcm43xx_phyinfo *phy = bcm43xx_current_phy(bcm);
 	struct bcm43xx_dmaring *ring;
 	struct bcm43xx_dmadesc_generic *desc;
 	struct bcm43xx_dmadesc_meta *meta;
@@ -1116,7 +1117,11 @@ void bcm43xx_dma_handle_txstatus(struct 
 		assert(slot >= 0 && slot < ring->nr_slots);
 		desc = ops->idx2desc(ring, slot, &meta);
 
-		unmap_descbuffer(ring, meta->dmaaddr, meta->skb->len, 1);
+		if (meta->skb)
+			unmap_descbuffer(ring, meta->dmaaddr, meta->skb->len, 1);
+		else
+			unmap_descbuffer(ring, meta->dmaaddr, phy->txhdr_size, 1);
+
 		if (meta->is_last_fragment) {
 			/* Call back to inform the ieee80211 subsystem about the
 			 * status of the transmission.
diff --git a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
index 1e857ca..813112e 100644
--- a/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c
@@ -4129,12 +4129,14 @@ static int bcm43xx_resume(struct pci_dev
 {
 	struct net_device *net_dev = pci_get_drvdata(pdev);
 	struct bcm43xx_private *bcm = bcm43xx_priv(net_dev);
-	int err = 0;
+	int err;
 
 	dprintk(KERN_INFO PFX "Resuming...\n");
 
 	pci_set_power_state(pdev, 0);
-	pci_enable_device(pdev);
+	err = pci_enable_device(pdev);
+	if (err)
+		return err;
 	pci_restore_state(pdev);
 
 	bcm43xx_chipset_attach(bcm);


-- 
Greetings Michael.

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2006-10-28 15:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-28 15:41 Please pull bcm43xx-d80211 bugfixes Michael Buesch

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.