Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4eaefb39 authored by Tony Luck's avatar Tony Luck
Browse files

Auto-update from upstream

parents 3a931d4c 30d5b64b
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -242,7 +242,7 @@ int iommu_map_sg(struct device *dev, struct iommu_table *tbl,
	dma_addr_t dma_next = 0, dma_addr;
	dma_addr_t dma_next = 0, dma_addr;
	unsigned long flags;
	unsigned long flags;
	struct scatterlist *s, *outs, *segstart;
	struct scatterlist *s, *outs, *segstart;
	int outcount;
	int outcount, incount;
	unsigned long handle;
	unsigned long handle;


	BUG_ON(direction == DMA_NONE);
	BUG_ON(direction == DMA_NONE);
@@ -252,6 +252,7 @@ int iommu_map_sg(struct device *dev, struct iommu_table *tbl,


	outs = s = segstart = &sglist[0];
	outs = s = segstart = &sglist[0];
	outcount = 1;
	outcount = 1;
	incount = nelems;
	handle = 0;
	handle = 0;


	/* Init first segment length for backout at failure */
	/* Init first segment length for backout at failure */
@@ -338,10 +339,10 @@ int iommu_map_sg(struct device *dev, struct iommu_table *tbl,


	DBG("mapped %d elements:\n", outcount);
	DBG("mapped %d elements:\n", outcount);


	/* For the sake of iommu_free_sg, we clear out the length in the
	/* For the sake of iommu_unmap_sg, we clear out the length in the
	 * next entry of the sglist if we didn't fill the list completely
	 * next entry of the sglist if we didn't fill the list completely
	 */
	 */
	if (outcount < nelems) {
	if (outcount < incount) {
		outs++;
		outs++;
		outs->dma_address = DMA_ERROR_CODE;
		outs->dma_address = DMA_ERROR_CODE;
		outs->dma_length = 0;
		outs->dma_length = 0;
+3 −1
Original line number Original line Diff line number Diff line
@@ -180,7 +180,9 @@ static ssize_t driver_bind(struct device_driver *drv,
		up(&dev->sem);
		up(&dev->sem);
		put_device(dev);
		put_device(dev);
	}
	}
	if (err)
		return err;
		return err;
	return count;
}
}
static DRIVER_ATTR(bind, S_IWUSR, NULL, driver_bind);
static DRIVER_ATTR(bind, S_IWUSR, NULL, driver_bind);


+2 −0
Original line number Original line Diff line number Diff line
@@ -312,6 +312,8 @@ found:
	if (drv->link.driver.probe) {
	if (drv->link.driver.probe) {
		if (drv->link.driver.probe(&dev->dev)) {
		if (drv->link.driver.probe(&dev->dev)) {
			dev->dev.driver = NULL;
			dev->dev.driver = NULL;
			dev->card_link = NULL;
			up_write(&dev->dev.bus->subsys.rwsem);
			return NULL;
			return NULL;
		}
		}
	}
	}
+1 −1
Original line number Original line Diff line number Diff line
@@ -175,7 +175,7 @@ ToDo/Notes:
	  the ntfs inode in memory if present.  Also, the ntfs inode has its
	  the ntfs inode in memory if present.  Also, the ntfs inode has its
	  own locking so it does not matter if the vfs inode is locked.
	  own locking so it does not matter if the vfs inode is locked.
	- Fix bug in mft record writing where we forgot to set the device in
	- Fix bug in mft record writing where we forgot to set the device in
	  the buffers when mapping them after the VM had discarded them
	  the buffers when mapping them after the VM had discarded them.
	  Thanks to Martin MOKREJŠ for the bug report.
	  Thanks to Martin MOKREJŠ for the bug report.


2.1.22 - Many bug and race fixes and error handling improvements.
2.1.22 - Many bug and race fixes and error handling improvements.
+1 −0
Original line number Original line Diff line number Diff line
@@ -924,6 +924,7 @@ static int ntfs_write_mst_block(struct page *page,
			LCN lcn;
			LCN lcn;
			unsigned int vcn_ofs;
			unsigned int vcn_ofs;


			bh->b_bdev = vol->sb->s_bdev;
			/* Obtain the vcn and offset of the current block. */
			/* Obtain the vcn and offset of the current block. */
			vcn = (VCN)block << bh_size_bits;
			vcn = (VCN)block << bh_size_bits;
			vcn_ofs = vcn & vol->cluster_size_mask;
			vcn_ofs = vcn & vol->cluster_size_mask;
Loading