On 2015.03.12 12:08, Greg KH wrote: > On Mon, Mar 09, 2015 at 06:29:38PM +0200, Giedrius Statkevičius wrote: >> Remove BOARD_FAILED and don't save dgnc_boards which failed to >> initialize. >> >> Assign the result of kzalloc() to brd in dgnc_found_board() and only put >> it in the dgnc_Board[] if it successfully initializes. Also, remove >> BOARD_FAILED enum and all ifs that check for it. Finally, remove one >> final place where state was set to BOARD_FAILED which was even redundant >> before this patch. >> >> Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@xxxxxxxxx> >> --- >> v2: Remove "brd = dgnc_Board[dgnc_NumBoards];" line which I forgot to do >> in the first version >> >> drivers/staging/dgnc/dgnc_driver.c | 20 ++------------------ >> drivers/staging/dgnc/dgnc_driver.h | 3 +-- >> drivers/staging/dgnc/dgnc_mgmt.c | 5 +---- >> drivers/staging/dgnc/dgnc_tty.c | 8 -------- >> 4 files changed, 4 insertions(+), 32 deletions(-) >> >> diff --git a/drivers/staging/dgnc/dgnc_driver.c b/drivers/staging/dgnc/dgnc_driver.c >> index fa1ee79..075727d 100644 >> --- a/drivers/staging/dgnc/dgnc_driver.c >> +++ b/drivers/staging/dgnc/dgnc_driver.c >> @@ -401,8 +401,7 @@ static int dgnc_found_board(struct pci_dev *pdev, int id) >> unsigned long flags; >> >> /* get the board structure and prep it */ >> - dgnc_Board[dgnc_NumBoards] = kzalloc(sizeof(*brd), GFP_KERNEL); >> - brd = dgnc_Board[dgnc_NumBoards]; >> + brd = kzalloc(sizeof(*brd), GFP_KERNEL); > > You've done a great job here, but... > > Yeah, sorry... > > I really want to see this whole "static list of boards/cards" go away. > There should not be any need for that in any in-kernel driver. Your > patch here is a sign that things are really wrong with this whole static > array mess. > > So could you do that instead? I don't want to take patches around this > whole "board state" mess anymore, as it should all not be needed at all. > > If you need pointers on what needs to be done here, just let me know. > > thanks, > > greg k-h > I can try :) But my main concern is the lack of dgnc driver maintainers activity and that I don't own the hardware this driver is written for as it's quite expensive (cheapest cards I've found start at 300$~) and I can't afford it ATM. But I guess if I keep the patches small and logical everything will be okay. -- Thanks, Giedrius _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel