> > > @@ -123,8 +116,9 @@ static void return_serial(struct usb_ser
> > >  
> > >   mutex_lock(&table_lock);
> > >   for (i = 0; i < serial->num_ports; ++i)
> > > -         serial_table[serial->minor + i] = NULL;
> > > +         idr_remove(&serial_minors, serial->port[i]->minor);
> > >   mutex_unlock(&table_lock);
> > > + serial->minors_reserved = 0;
> > 
> > This isn't strictly needed as the serial struct release_serial is only
> > called once when the struct is about to be freed.
> 
> Really?  Why were we doing this type of thing before with the "not
> allocated" flag?  It seems that we were protecting some path that I
> can't remember at the moment.  So to be safe, I'll leave it for now...

It was and is only used when releasing the serial struct to check
whether minors had been allocated or not at probe and if return_serial
(release_minors) should be called. This in done in destroy_serial just
before freeing the struct, so clearing the flag is redundant, but
doesn't hurt anyone, I guess. ;)

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to