mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 10:33:41 +02:00
several bugfixes for vfio-ccw
-----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEEw9DWbcNiT/aowBjO3s9rk8bwL68FAlvqxgASHGNvaHVja0By ZWRoYXQuY29tAAoJEN7Pa5PG8C+vvboP/2AvMs/6pOTQonrNyyLIS4aNMs6X8ST2 hh8VWCS+xf4Xh1RVHk7gUhkf5iGy9ZZvV3HPXlks/vMrz1+PakvgaJ+HG49rKWH1 HOr/omAd0L2ILjvPgEhSZKGKxczbpwGrDjHQspeiJjc+RxvwQgDDwA1PX+TBoj1F GdEzmtYjRKr5pyvhev8Z+vnNEr46F6yx6WUX7owbdT41VpZDWrF1Z3plR90MNs7T 1HaBPJ+eiER4/KnUkysx7F+LH+6uHldQBvg87joXZYeZZ8a78BSTM/rXbXzhTzne /1SCgYXAzHrP76sqhRLd7nQa+cv8PQQpKggB8MwpWcvvAZ+WJqq0XlPzuJ2XkpXc Z6V7LVP7ownnDiN/vpv+i8w5kmRUWS3q2zdBhd+3rJKtF42vRs9gXtc6Sk22Q1kR yN1+pBzQECBb7bcV0P14eScojCYLsuWup+NvwYxMysEE4KfssjWT7rgRxxwepf19 xr1FTa8OvjIahqNPpO/y/VcW67HSLNlwRlaUbGt0yYndMs/5ZeWOowMrLPqjxnUD mShW5C2IZKXNv0W2U2n8/NCKIShx6Qg9JOGIwE/uMWkzJPnZ6o+K+7AluMRBLWOe qiaAOEgbC16N7ncfl1nCdz5Z9b9cdbWTyGtZHatKvYEIzlELsOXEKBf+w0uxq7At hPA1IBXY/vYl =kYON -----END PGP SIGNATURE----- Merge tag 'vfio-ccw-20181113' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/vfio-ccw into fixes Pull vfio-ccw from Cornelia Huck with the following changes: - Several bugfixes for vfio-ccw
This commit is contained in:
commit
005af85c50
|
|
@ -387,8 +387,10 @@ static int ccwchain_calc_length(u64 iova, struct channel_program *cp)
|
|||
* orb specified one of the unsupported formats, we defer
|
||||
* checking for IDAWs in unsupported formats to here.
|
||||
*/
|
||||
if ((!cp->orb.cmd.c64 || cp->orb.cmd.i2k) && ccw_is_idal(ccw))
|
||||
if ((!cp->orb.cmd.c64 || cp->orb.cmd.i2k) && ccw_is_idal(ccw)) {
|
||||
kfree(p);
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
if ((!ccw_is_chain(ccw)) && (!ccw_is_tic(ccw)))
|
||||
break;
|
||||
|
|
@ -528,7 +530,7 @@ static int ccwchain_fetch_direct(struct ccwchain *chain,
|
|||
|
||||
ret = pfn_array_alloc_pin(pat->pat_pa, cp->mdev, ccw->cda, ccw->count);
|
||||
if (ret < 0)
|
||||
goto out_init;
|
||||
goto out_unpin;
|
||||
|
||||
/* Translate this direct ccw to a idal ccw. */
|
||||
idaws = kcalloc(ret, sizeof(*idaws), GFP_DMA | GFP_KERNEL);
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
#include "vfio_ccw_private.h"
|
||||
|
||||
struct workqueue_struct *vfio_ccw_work_q;
|
||||
struct kmem_cache *vfio_ccw_io_region;
|
||||
static struct kmem_cache *vfio_ccw_io_region;
|
||||
|
||||
/*
|
||||
* Helpers
|
||||
|
|
@ -134,14 +134,14 @@ static int vfio_ccw_sch_probe(struct subchannel *sch)
|
|||
if (ret)
|
||||
goto out_free;
|
||||
|
||||
ret = vfio_ccw_mdev_reg(sch);
|
||||
if (ret)
|
||||
goto out_disable;
|
||||
|
||||
INIT_WORK(&private->io_work, vfio_ccw_sch_io_todo);
|
||||
atomic_set(&private->avail, 1);
|
||||
private->state = VFIO_CCW_STATE_STANDBY;
|
||||
|
||||
ret = vfio_ccw_mdev_reg(sch);
|
||||
if (ret)
|
||||
goto out_disable;
|
||||
|
||||
return 0;
|
||||
|
||||
out_disable:
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user