diff options
Diffstat (limited to 'drivers/gpu/drm/udl/udl_transfer.c')
| -rw-r--r-- | drivers/gpu/drm/udl/udl_transfer.c | 12 | 
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/gpu/drm/udl/udl_transfer.c b/drivers/gpu/drm/udl/udl_transfer.c index 1973a4c1e358..971927669d6b 100644 --- a/drivers/gpu/drm/udl/udl_transfer.c +++ b/drivers/gpu/drm/udl/udl_transfer.c @@ -212,8 +212,7 @@ static void udl_compress_hline16(  int udl_render_hline(struct drm_device *dev, int log_bpp, struct urb **urb_ptr,  		     const char *front, char **urb_buf_ptr,  		     u32 byte_offset, u32 device_byte_offset, -		     u32 byte_width, -		     int *ident_ptr, int *sent_ptr) +		     u32 byte_width)  {  	const u8 *line_start, *line_end, *next_pixel;  	u32 base16 = 0 + (device_byte_offset >> log_bpp) * 2; @@ -235,12 +234,12 @@ int udl_render_hline(struct drm_device *dev, int log_bpp, struct urb **urb_ptr,  		if (cmd >= cmd_end) {  			int len = cmd - (u8 *) urb->transfer_buffer; -			if (udl_submit_urb(dev, urb, len)) -				return 1; /* lost pixels is set */ -			*sent_ptr += len; +			int ret = udl_submit_urb(dev, urb, len); +			if (ret) +				return ret;  			urb = udl_get_urb(dev);  			if (!urb) -				return 1; /* lost_pixels is set */ +				return -EAGAIN;  			*urb_ptr = urb;  			cmd = urb->transfer_buffer;  			cmd_end = &cmd[urb->transfer_buffer_length]; @@ -251,4 +250,3 @@ int udl_render_hline(struct drm_device *dev, int log_bpp, struct urb **urb_ptr,  	return 0;  } -  |