Skip to content

Commit

Permalink
various: fix pci_set_dma_mask return value checking
Browse files Browse the repository at this point in the history
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: Christoph Hellwig <hch@lst.de>
Reported-by: Jongman Heo <jongman.heo@samsung.com>
Tested-by: Jongman Heo <jongman.heo@samsung.com>	[pcnet32]
Acked-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>
Cc: Antti Palosaari <crope@iki.fi>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
  • Loading branch information
Christoph Hellwig authored and Linus Torvalds committed Nov 21, 2015
1 parent 1a76361 commit 1a47de6
Show file tree
Hide file tree
Showing 10 changed files with 20 additions and 17 deletions.
4 changes: 2 additions & 2 deletions drivers/media/pci/cx23885/cx23885-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1992,9 +1992,9 @@ static int cx23885_initdev(struct pci_dev *pci_dev,
(unsigned long long)pci_resource_start(pci_dev, 0));

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);
err = -EIO;
goto fail_context;
}

Expand Down
3 changes: 2 additions & 1 deletion drivers/media/pci/cx25821/cx25821-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1319,7 +1319,8 @@ static int cx25821_initdev(struct pci_dev *pci_dev,
dev->pci_lat, (unsigned long long)dev->base_io_addr);

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);
err = -EIO;
goto fail_irq;
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/pci/cx88/cx88-alsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -890,9 +890,9 @@ static int snd_cx88_create(struct snd_card *card, struct pci_dev *pci,
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);
err = -EIO;
cx88_core_put(core, pci);
return err;
}
Expand Down
3 changes: 2 additions & 1 deletion drivers/media/pci/cx88/cx88-mpeg.c
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,8 @@ static int cx8802_init_common(struct cx8802_dev *dev)
if (pci_enable_device(dev->pci))
return -EIO;
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);
return -EIO;
}
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/pci/cx88/cx88-video.c
Original file line number Diff line number Diff line change
Expand Up @@ -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));

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);
err = -EIO;
goto fail_core;
}
dev->alloc_ctx = vb2_dma_sg_init_ctx(&pci_dev->dev);
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/pci/netup_unidvb/netup_unidvb_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -810,7 +810,7 @@ static int netup_unidvb_initdev(struct pci_dev *pci_dev,
"%s(): board vendor 0x%x, revision 0x%x\n",
__func__, board_vendor, board_revision);
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,
"%s(): 32bit PCI DMA is not supported\n", __func__);
goto pci_detect_err;
Expand Down
4 changes: 2 additions & 2 deletions drivers/media/pci/saa7134/saa7134-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -951,9 +951,9 @@ static int saa7134_initdev(struct pci_dev *pci_dev,
pci_name(pci_dev), dev->pci_rev, pci_dev->irq,
dev->pci_lat,(unsigned long long)pci_resource_start(pci_dev,0));
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);
err = -EIO;
goto fail1;
}

Expand Down
4 changes: 2 additions & 2 deletions drivers/media/pci/saa7164/saa7164-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1264,9 +1264,9 @@ static int saa7164_initdev(struct pci_dev *pci_dev,

pci_set_master(pci_dev);
/* 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);
err = -EIO;
goto fail_irq;
}

Expand Down
4 changes: 2 additions & 2 deletions drivers/media/pci/tw68/tw68-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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->pci_lat, (u64)pci_resource_start(pci_dev, 0));
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);
err = -EIO;
goto fail1;
}

Expand Down
5 changes: 3 additions & 2 deletions drivers/net/ethernet/amd/pcnet32.c
Original file line number Diff line number Diff line change
Expand Up @@ -1500,10 +1500,11 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent)
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)
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 (pcnet32_debug & NETIF_MSG_PROBE)
Expand Down

0 comments on commit 1a47de6

Please sign in to comment.