On Tue, Jul 07 2015, Krzysztof Opasiak wrote:
> This patch replace dynamicly allocated luns array with static one.
> This simplifies the code of mass storage function and modules.
>
> It also fix issue with reporting wrong number of LUNs in GET_MAX_LUN
> request. According to MS spec we should return the max index of valid
> LUN, not the number of luns - 1.

This is no longer true, is it?  Why my fix this bug has been solved, no?
As such, this should not go to stable.  Or am I missing something?

> Reported-by: David Fisher <[email protected]>
> Signed-off-by: Krzysztof Opasiak <[email protected]>

Acked-by: Michal Nazarewicz <[email protected]>

> CC: [email protected] # 3.13+


> @@ -490,6 +489,16 @@ static void bulk_out_complete(struct usb_ep *ep, struct 
> usb_request *req)
>       spin_unlock(&common->lock);
>  }
>  
> +static int _fsg_common_get_max_lun(struct fsg_common *common)

Perhaps even ‘unsigned’.

> +{
> +     int i = ARRAY_SIZE(common->luns) - 1;

Ditto.  This applies in other places of the patch so I won’t keep
repeating it.

> +
> +     while (i >= 0 && !common->luns[i])
> +             --i;
> +
> +     return i;
> +}
> +
>  static int fsg_setup(struct usb_function *f,
>                    const struct usb_ctrlrequest *ctrl)
>  {

> @@ -2552,12 +2562,11 @@ static int fsg_main_thread(void *common_)
>  
>       if (!common->ops || !common->ops->thread_exits
>        || common->ops->thread_exits(common) < 0) {
> -             struct fsg_lun **curlun_it = common->luns;
> -             unsigned i = common->nluns;
> +             int i;
>  
>               down_write(&common->filesem);
> -             for (; i--; ++curlun_it) {
> -                     struct fsg_lun *curlun = *curlun_it;
> +             for (i = 0; i < ARRAY_SIZE(common->luns); --i) {

++i

> +                     struct fsg_lun *curlun = common->luns[i];
>                       if (!curlun || !fsg_lun_is_open(curlun))
>                               continue;
>  

-- 
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
ooo +--<[email protected]>--<xmpp:[email protected]>--ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to