> > Hi, i get this a lot now when doing: "rmmod cp2101 io_edgeport "> > I try and do the rmmod, because i loose comunications on the USB to > RS-232 adapters.> ------------[ cut here ]------------> kernel BUG at kernel/workqueue.c:104!> invalid operand: 0000 [#1]

Thats because the scheduled work became empty before it was executed.

-- BUG_ON(!list_empty(&work->entry)); --

Looks like someone forgot to flush_scheduled_work() before exiting. Can you try putting flush_scheduled_work() as the first line in cp2101_exit and whatever is the exit function of io_edgeport?

Just a wild guess. Things might be more complicated than this, but no harm in trying.