Commit 1a47de6e authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Linus Torvalds

various: fix pci_set_dma_mask return value checking

pci_set_dma_mask returns a negative errno value, not a bool like
pci_dma_supported.  This of course was just a giant test for attention :)
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reported-by: default avatarJongman Heo <jongman.heo@samsung.com>
Tested-by: Jongman Heo <jongman.heo@samsung.com>	[pcnet32]
Acked-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Antti Palosaari <crope@iki.fi>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1a763615
...@@ -1992,9 +1992,9 @@ static int cx23885_initdev(struct pci_dev *pci_dev, ...@@ -1992,9 +1992,9 @@ static int cx23885_initdev(struct pci_dev *pci_dev,
(unsigned long long)pci_resource_start(pci_dev, 0)); (unsigned long long)pci_resource_start(pci_dev, 0));
pci_set_master(pci_dev); pci_set_master(pci_dev);
if (!pci_set_dma_mask(pci_dev, 0xffffffff)) { err = pci_set_dma_mask(pci_dev, 0xffffffff);
if (err) {
printk("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name); printk("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name);
err = -EIO;
goto fail_context; goto fail_context;
} }
......
...@@ -1319,7 +1319,8 @@ static int cx25821_initdev(struct pci_dev *pci_dev, ...@@ -1319,7 +1319,8 @@ static int cx25821_initdev(struct pci_dev *pci_dev,
dev->pci_lat, (unsigned long long)dev->base_io_addr); dev->pci_lat, (unsigned long long)dev->base_io_addr);
pci_set_master(pci_dev); pci_set_master(pci_dev);
if (!pci_set_dma_mask(pci_dev, 0xffffffff)) { err = pci_set_dma_mask(pci_dev, 0xffffffff);
if (err) {
pr_err("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name); pr_err("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name);
err = -EIO; err = -EIO;
goto fail_irq; goto fail_irq;
......
...@@ -890,9 +890,9 @@ static int snd_cx88_create(struct snd_card *card, struct pci_dev *pci, ...@@ -890,9 +890,9 @@ static int snd_cx88_create(struct snd_card *card, struct pci_dev *pci,
return err; return err;
} }
if (!pci_set_dma_mask(pci,DMA_BIT_MASK(32))) { err = pci_set_dma_mask(pci,DMA_BIT_MASK(32));
if (err) {
dprintk(0, "%s/1: Oops: no 32bit PCI DMA ???\n",core->name); dprintk(0, "%s/1: Oops: no 32bit PCI DMA ???\n",core->name);
err = -EIO;
cx88_core_put(core, pci); cx88_core_put(core, pci);
return err; return err;
} }
......
...@@ -393,7 +393,8 @@ static int cx8802_init_common(struct cx8802_dev *dev) ...@@ -393,7 +393,8 @@ static int cx8802_init_common(struct cx8802_dev *dev)
if (pci_enable_device(dev->pci)) if (pci_enable_device(dev->pci))
return -EIO; return -EIO;
pci_set_master(dev->pci); pci_set_master(dev->pci);
if (!pci_set_dma_mask(dev->pci,DMA_BIT_MASK(32))) { err = pci_set_dma_mask(dev->pci,DMA_BIT_MASK(32));
if (err) {
printk("%s/2: Oops: no 32bit PCI DMA ???\n",dev->core->name); printk("%s/2: Oops: no 32bit PCI DMA ???\n",dev->core->name);
return -EIO; return -EIO;
} }
......
...@@ -1314,9 +1314,9 @@ static int cx8800_initdev(struct pci_dev *pci_dev, ...@@ -1314,9 +1314,9 @@ static int cx8800_initdev(struct pci_dev *pci_dev,
dev->pci_lat,(unsigned long long)pci_resource_start(pci_dev,0)); dev->pci_lat,(unsigned long long)pci_resource_start(pci_dev,0));
pci_set_master(pci_dev); pci_set_master(pci_dev);
if (!pci_set_dma_mask(pci_dev,DMA_BIT_MASK(32))) { err = pci_set_dma_mask(pci_dev,DMA_BIT_MASK(32));
if (err) {
printk("%s/0: Oops: no 32bit PCI DMA ???\n",core->name); printk("%s/0: Oops: no 32bit PCI DMA ???\n",core->name);
err = -EIO;
goto fail_core; goto fail_core;
} }
dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev); dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev);
......
...@@ -810,7 +810,7 @@ static int netup_unidvb_initdev(struct pci_dev *pci_dev, ...@@ -810,7 +810,7 @@ static int netup_unidvb_initdev(struct pci_dev *pci_dev,
"%s(): board vendor 0x%x, revision 0x%x\n", "%s(): board vendor 0x%x, revision 0x%x\n",
__func__, board_vendor, board_revision); __func__, board_vendor, board_revision);
pci_set_master(pci_dev); pci_set_master(pci_dev);
if (!pci_set_dma_mask(pci_dev, 0xffffffff)) { if (pci_set_dma_mask(pci_dev, 0xffffffff) < 0) {
dev_err(&pci_dev->dev, dev_err(&pci_dev->dev,
"%s(): 32bit PCI DMA is not supported\n", __func__); "%s(): 32bit PCI DMA is not supported\n", __func__);
goto pci_detect_err; goto pci_detect_err;
......
...@@ -951,9 +951,9 @@ static int saa7134_initdev(struct pci_dev *pci_dev, ...@@ -951,9 +951,9 @@ static int saa7134_initdev(struct pci_dev *pci_dev,
pci_name(pci_dev), dev->pci_rev, pci_dev->irq, pci_name(pci_dev), dev->pci_rev, pci_dev->irq,
dev->pci_lat,(unsigned long long)pci_resource_start(pci_dev,0)); dev->pci_lat,(unsigned long long)pci_resource_start(pci_dev,0));
pci_set_master(pci_dev); pci_set_master(pci_dev);
if (!pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32))) { err = pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32));
if (err) {
pr_warn("%s: Oops: no 32bit PCI DMA ???\n", dev->name); pr_warn("%s: Oops: no 32bit PCI DMA ???\n", dev->name);
err = -EIO;
goto fail1; goto fail1;
} }
......
...@@ -1264,9 +1264,9 @@ static int saa7164_initdev(struct pci_dev *pci_dev, ...@@ -1264,9 +1264,9 @@ static int saa7164_initdev(struct pci_dev *pci_dev,
pci_set_master(pci_dev); pci_set_master(pci_dev);
/* TODO */ /* TODO */
if (!pci_set_dma_mask(pci_dev, 0xffffffff)) { err = pci_set_dma_mask(pci_dev, 0xffffffff);
if (err) {
printk("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name); printk("%s/0: Oops: no 32bit PCI DMA ???\n", dev->name);
err = -EIO;
goto fail_irq; goto fail_irq;
} }
......
...@@ -257,9 +257,9 @@ static int tw68_initdev(struct pci_dev *pci_dev, ...@@ -257,9 +257,9 @@ static int tw68_initdev(struct pci_dev *pci_dev,
dev->name, pci_name(pci_dev), dev->pci_rev, pci_dev->irq, dev->name, pci_name(pci_dev), dev->pci_rev, pci_dev->irq,
dev->pci_lat, (u64)pci_resource_start(pci_dev, 0)); dev->pci_lat, (u64)pci_resource_start(pci_dev, 0));
pci_set_master(pci_dev); pci_set_master(pci_dev);
if (!pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32))) { err = pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32));
if (err) {
pr_info("%s: Oops: no 32bit PCI DMA ???\n", dev->name); pr_info("%s: Oops: no 32bit PCI DMA ???\n", dev->name);
err = -EIO;
goto fail1; goto fail1;
} }
......
...@@ -1500,10 +1500,11 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -1500,10 +1500,11 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent)
return -ENODEV; return -ENODEV;
} }
if (!pci_set_dma_mask(pdev, PCNET32_DMA_MASK)) { err = pci_set_dma_mask(pdev, PCNET32_DMA_MASK);
if (err) {
if (pcnet32_debug & NETIF_MSG_PROBE) if (pcnet32_debug & NETIF_MSG_PROBE)
pr_err("architecture does not support 32bit PCI busmaster DMA\n"); pr_err("architecture does not support 32bit PCI busmaster DMA\n");
return -ENODEV; return err;
} }
if (!request_region(ioaddr, PCNET32_TOTAL_SIZE, "pcnet32_probe_pci")) { if (!request_region(ioaddr, PCNET32_TOTAL_SIZE, "pcnet32_probe_pci")) {
if (pcnet32_debug & NETIF_MSG_PROBE) if (pcnet32_debug & NETIF_MSG_PROBE)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment