|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 3/4] VT-d/qinval: clean up error handling
On 16/06/14 13:48, Jan Beulich wrote:
> - neither qinval_update_qtail() nor qinval_next_index() can fail: make
> the former return "void", and drop caller error checks for the latter
> (all of which would otherwise return with a spin lock still held)
> - or-ing together error codes is a bad idea
>
> At once drop bogus initializers.
>
> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
>
> --- a/xen/drivers/passthrough/vtd/qinval.c
> +++ b/xen/drivers/passthrough/vtd/qinval.c
> @@ -58,7 +58,7 @@ static int qinval_next_index(struct iomm
> return tail;
> }
>
> -static int qinval_update_qtail(struct iommu *iommu, int index)
> +static void qinval_update_qtail(struct iommu *iommu, int index)
> {
> u64 val;
>
> @@ -66,7 +66,6 @@ static int qinval_update_qtail(struct io
> ASSERT( spin_is_locked(&iommu->register_lock) );
> val = (index + 1) % QINVAL_ENTRY_NR;
> dmar_writeq(iommu->reg, DMAR_IQT_REG, (val << QINVAL_INDEX_SHIFT));
> - return 0;
> }
>
> static int gen_cc_inv_dsc(struct iommu *iommu, int index,
> @@ -100,17 +99,15 @@ static int gen_cc_inv_dsc(struct iommu *
> int queue_invalidate_context(struct iommu *iommu,
> u16 did, u16 source_id, u8 function_mask, u8 granu)
> {
> - int ret = -1;
> + int ret;
> unsigned long flags;
> int index = -1;
This index initialiser is also bogus. It is assigned straight from
qinval_next_index().
But peeking ahead to your next patch, you have addressed it there.
I would suggest that the dropping of -EBUSY clauses would more logically
live with the following patch, but the end result of patches 3 + 4
appear fine.
Either way, Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |